Description:
I use Django's authentication system to login a user.
When I login a user like this:
views.py:
from django.contrib.auth import authenticate, login
class Login(APIView):
def post(self, request):
username = request.data.get("username")
password = request.data.get("password")
user = authenticate(username=username, password=password)
if user is None:
return Response()
else:
login(request, user)
#outputs True
print(request.user.is_authenticated)
#outputs True
print("is_active: ", request.user.is_active)
return Response()
I can't verify the user in a different view, e.g:
views.py
class Files(APIView):
def get(self, request):
#outputs False
print("is_authenticated", request.user.is_authenticated)
return Response()
In my settings.py I've included:
INSTALLED_APPS = [
...
'django.contrib.auth',
'django.contrib.contenttypes',
...
]
MIDDLEWARE = [
...
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
...
]
Possible Problems:
- The problem may occur because I use the django restframework
- It may be caused because I make to independend requests to each view
Any ideas?