I have DRF project documented with drf_yasg and validator rest framework simple jwt.
File "C:\Users\ASUS\OneDrive\Desktop\django\Django-Advance\core\accounts\api\v1\urls\accounts.py", line 5, in <module>
from .. import views
File "C:\Users\ASUS\OneDrive\Desktop\django\Django-Advance\core\accounts\api\v1\views.py", line 4, in <module>
from rest_framework.authtoken.views import ObtainAuthToken
File "C:\Users\ASUS\OneDrive\Desktop\django\Django-Advance\venv\Lib\site-packages\rest_framework\authtoken\views.py", line 11, in <module>
class ObtainAuthToken(APIView):
File "C:\Users\ASUS\OneDrive\Desktop\django\Django-Advance\venv\Lib\site-packages\rest_fra File "C:\Users\ASUS\OneDrive\Desktop\django\Django-Advance\core\accounts\api\v1\views.py", line 4, in <module>
from rest_framework.authtoken.views import ObtainAuthToken
File "C:\Users\ASUS\OneDrive\Desktop\django\Django-Advance\venv\Lib\site-packages\rest_framework\authtoken\views.py", line 11, in <module>
class ObtainAuthToken(APIView):
File "C:\Users\ASUS\OneDrive\Desktop\django\Django-Advance\venv\Lib\site-packages\rest_fra from rest_framework.authtoken.views import ObtainAuthToken
File "C:\Users\ASUS\OneDrive\Desktop\django\Django-Advance\venv\Lib\site-packages\rest_framework\authtoken\views.py", line 11, in <module>
class ObtainAuthToken(APIView):
File "C:\Users\ASUS\OneDrive\Desktop\django\Django-Advance\venv\Lib\site-packages\rest_framework\authtoken\views.py", line 21, in ObtainAuthToken
coreapi.Field(
^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'Field'
this is my requirements.txt file:
# general modules
django<4.3,>4.2
python-decouple
Pillow
# third party modules
djangorestframework
markdown
django-filter
drf-yasg[validation]
djangorestframework-simplejwt[crypto]
# deployment modules
this is my created CustomObtainAuthToke class:
class CustomObtainAuthToken(ObtainAuthToken):
serializer_class = CustomAuthTokenSerializer
def post(self, request, *args, **kwargs):
serializer = self.serializer_class(
data=request.data, context={"request": request}
)
serializer.is_valid(raise_exception=True)
user = serializer.validated_data["user"]
token, created = Token.objects.get_or_create(user=user)
return Response(
{
"user_id": user.pk,
"email": user.email,
"token": token.key,
}
)
and this is how I import that in line 4 from rest_framework.authtoken.views import ObtainAuthToken
I tried to reversion the requirements.txt modules.
I changed the DRF to different version for testing purposes to 3.12, 3.13, 3.14, 3.15
and the latest version of Django Rest Framework installed