Issue
I am building a blog app in django. But, when I write a function for logging users out, I get this traceback error:
Internal Server Error: /users/logout/
Traceback (most recent call last):
File "C:\Users\Dell\Desktop\Django\blog\venv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "C:\Users\Dell\Desktop\Django\blog\venv\lib\site-packages\django\core\handlers\base.py", line 186, in _get_response
self.check_response(response, callback)
File "C:\Users\Dell\Desktop\Django\blog\venv\lib\site-packages\django\core\handlers\base.py", line 309, in check_response
"instead." % name
ValueError: The view users.views.logout_user didn't return an HttpResponse object. It returned None instead.
My logout_user
view function is only two lines, so I can't seem to understand the error. Here is my view function:
@login_required
def logout_user(request):
logout(request)
Can anyone help me out?
Solution
Because the view must return render
response. You should something redirect HttpResponseRedirect()
return HttpResponseRedirect()
To log out a user who has been logged in via django.contrib.auth.login()
, use django.contrib.auth.logout()
within your view. It takes an HttpRequest
object and has no return value.
from django.contrib.auth import logout
def logout_view(request):
logout(request)
# Redirect to a success page.
Answered By - mhhabib
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.