ویوهای محافظت شده | Protecting Views

جنگو

سلام

در این بخش باید از دسترسی کاربران غیرمجاز به ویوها جلوگیری کنیم. برای مثال فرم زیر برای ارسال پست جدید به کار می رود:

در تصویر بالا، کاربری وارد سیستم نشده اما توانسته به فرم ارسال پست دسترسی پیدا کند. جنگو برای جلوگیری از این موضوع به صورت پیشفرض یک دکوراتور (decorator) برای ویو دارد.

boards/views.py (مشاهده کد کامل)

به همین سادگی! حالا اگر کاربری بدون ورود به سیستم آدرس مربوط به ارسال پست جدید را وارد کند به صفحۀ لاگین انتقال می یابد.

به آدرس زیر توجه کنید.

?next=/boards/1/new/

می توانیم روی قالب لاگین کار کنیم تا مقادیر پارامتر next در صفحه نمایش داده شده و تجربه کاربری یا همان UX را بهبود دهیم.

templates/login.html (مشاهده کد کامل)

بنابراین در صورت ورود موفقیت آمیز به صفحه ای وارد خواهیم شد که در آن بوده ایم.

همانطور که مشخص است پارامتر next به صورت پیشفرض در جنگو قرار دارد.

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

 

مطلب بعدی: تست Login Required

مطلب قبلی: مقدمه و مفهوم ORM

بدون دیدگاه

پاسخی بگذارید

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

جنگو
Function-Based View

سلام بدون هیچ توضیحی و مطابق با آموزش هایی که تا الان ارائه شده است ویوهایی که تا الان نوشته ایم همگی از نوع تابع و به شکل زیر خواهد است… views.py def new_post(request): if request.method == ‘POST’: form = PostForm(request.POST) if form.is_valid(): form.save() return redirect(‘post_list’) else: form = PostForm() …

جنگو
استراتژی ویوهای مبتنی بر کلاس

سلام در این فصل قصد داریم ویوهای برنامه را با استفاده از مفهوم کلاس پیاده سازی کنیم. مسلماً باید به کدهای قبلی برگردیم و بخش هایی از آن را تغییر دهیم. بعد هم به مسائل مهم دیگر مثل صفحه بندی و شماره گذاری صفحات، Markdownها و حتی یک ویرایشگر ساده …

جنگو
مهاجرت

سلام مهاجرت یکی از بخش ها و بحث های بنیادی در برنامه نویسی تحت وب با جنگو است. مهاجرت مربوط به توسعۀ مدل های مربوط به برنامه در شرایطی می شود که بعد از توسعۀ مدل ها، به صورت خودکار دیتابیس نیز خود را با مدل ها بروز رسانی کند …

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