خروج از سیستم (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

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

 

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

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

بدون دیدگاه

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

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

جنگو
پیکربندی گواهینامۀ https

سلام حالا می خواهیم برنامۀ خودمان را با گواهینامۀ https امن کنیم. ساده ترین کار برای انجام آن Let’s Encrypt است. قبل از Let’s Encrypt هرگز تنظیمات https به این راحتی نبوده و مهمتر اینکه اینکار کاملاً رایگان است. آن ها راه حلی به نام certbot را ارائه داده اند …

جنگو
پیکربندی سرویس ایمیل

سلام یکی از بهتر سرویس دهنده های ایمیل Mailgun با قابلیت ۱۲ هزار ایمیل رایگان در ماه است. به صورت رایگان ثبت نام کنید. برای اینکار باید آن را با سرویس دهندۀ دامین خود تنظیم کنید که در این آموزش از tamadon.org استفاده شده است. حالا اولین رکورد DNS را …

جنگو
پیکربندی NGINX

سلام کار بعدی که قرار است انجام شود؛ تنظیمان Nginx به شکلی است که پاسخگویی و سرویس دهی مربوط به فایل های استاتیک را خود انجام دهد و سایر درخواست ها را به Gunicorn بفرستد. یک فایل پیکربندی با نام boards را درون /etc/nginx/sites-available/ و با محتوای زیر اضافه می …

هرگونه استفادۀ از این آموزش به صورت رایگان و با ارجاع به تمدن جایز است.