خروج از سیستم (Logout)

سلام

اولین کار این است که مسیر جدید را در urls.py اضافه کنیم.

myproject/urls.py

from django.conf.urls import url
from django.contrib import admin
from django.contrib.auth import views as auth_views

from accounts import views as accounts_views
from boards import views

urlpatterns = [
    url(r'^$', views.home, name='home'),
    url(r'^signup/$', accounts_views.signup, name='signup'),
    url(r'^logout/$', auth_views.LogoutView.as_view(), name='logout'),
    url(r'^boards/(?P<pk>\d+)/$', views.board_topics, name='board_topics'),
    url(r'^boards/(?P<pk>\d+)/new/$', views.new_topic, name='new_topic'),
    url(r'^admin/', admin.site.urls),
]

تابع view را از ماژول توسعۀ جنگو (Django’s contrib module) در برنامه وارد کردیم. برای جلوگیری از تصادم هم آن را به نام مستعار auth_views تغییر می دهیم. توجه شود که این ویو با موارد قبلی کمی متفاوت و به این شکل است: ()LogoutView.as_view. این ویو بر اساس مفهوم کلاس و شی گرایی ساخته شده است. تا به این لحظه، ویوهای ساخته شده صرفاً از نوع توابع پایتون بوده است. ویوهای کلاسی دارای قابلیت های بیشتری نسبت به ویوهای تابعی دارند که بعدا در مورد آن صحبت خواهیم کرد.

مقدار زیر را به انتهای فایل settings.py اضافه کنیم.

myproject/settings.py

LOGOUT_REDIRECT_URL = 'home'

با این کار، کاربر بعد از خروج از سیستم به آدرسی که مشخص می کنیم –در اینجا صفحۀ خانه- انتقال می یابد.

خوب! با این کار همه چیز آماده است. کافی است به آدرس زیر مراجعه کنیم تا بلافاصله از سیستم خارج شده و به صفحۀ خانه منتقل شویم. در ادامه می خواهیم آدرس این صفحه را در منوی بازشوندۀ مربوط به کاربر اضافه کنیم.

http://127.0.0.1:8000/logout

ترجمۀ اختصاصی توسط تمدن

 

مطلب بعدی: نمایش منویی خاص برای کاربران معتبر

مطلب قبلی: بهبود قالب ثبت نام

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگو شرکت کنید؟
نظری بدهید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *