html code
{% if request.user %}
<a href="{% url 'main:logout' %}">
Выход
</a>
{% else %}
<a href="{% url 'main:registration' %}">
Регистрация
</a>
{% endif%}
settings.py
LOGIN_REDIRECT_URL = 'main/index'
views.py
def logout(request):
logout(request)
urls.py
from django.conf.urls import url
from . import views
from django.conf import settings
urlpatterns = [
url(r'^logout/$', views.logout, {'next_page': settings.LOGOUT_REDIRECT_URL}, name='logout')
]
what's wrong?
For Django 2.2.x or higher,
if you are using path
instead of url
, then simply import LogoutView
from django.contrib.auth.views
in urls.py
.
from django.contrib.auth.views import LogoutView
then add following path in urlpatterns
,
path("logout/", LogoutView.as_view(), name="logout"),
Note: You need to mention LOGOUT_REDIRECT_URL = "my_url"
in settings.py
for redirection after logout.
Django 2.0 it looks like it switched to a class based view
from django.contrib.auth.views import LogoutView
url(r'^logout/$', LogoutView.as_view(), {'next_page': settings.LOGOUT_REDIRECT_URL}, name='logout'),
import django logout first , just write from django.contrib.auth import logout
at the top of your view file
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With