توضیح مثال 20: در فایل \u200edrf_perms.py\u200f دو کلاس تعریف کردیم. هدف از تعریف کلاس SessionDisableCSRF\u200f غیرفعال سازی مکانیزم امنیتی بررسی توکنCSRF\u200f بود؛ چون اگر بخواهیم درخواست های خام (بدون تنظیم\u200esession، توکن csrf و... \u200e(به وسیله نرم افزار یا افزونه های \u200e,RESTClient ,Curl ,RESTer ,ARC-REST ,Thunder-Client) API-Tester\u200fPostMan و...) ارسال کنیم، فعال بودن این مکانیزم اجازه کدنویسی سریع در محیط تست و توسعه را به ما نمی دهد و منجر به اتلاف وقت می گردد. از آنجایی که مکانیزم CSRF مربوط به مبحث احراز هویت می شود، این گونه کلاس ها را باید در دکوریتور یا صفت/گزینه \u200eauthentiation_classes\u200f درج نماییم.
هدف از تعریف کلاس \u200eIsAuthenticatedAndlsCreator\u200f بدین خاطر است که اطمینان حاصل کنیم کاربری که در حال حذف یا ویرایش اطلاعات کتاب X است، باید نویسنده آن کتاب باشد؛ وگرنه با پیام خطای مندرج در متغیر \u200emessage\u200f مواجه می شود. اما فرآیند اطمینان حاصل کردن به واسطه متدهای ویژه ()\u200ehas_object_permission و ()\u200fhas_permission صورت می گیرد. همیشه در ابتدا، شروط متد ()\u200f\u200ehas_permission بررسی می گردد و اگر نتیجه ارزیابی \u200eTrue\u200f شود، اجازه دسترسی اولیه به مسیر \u200eURL\u200f مربوطه داده می شود (در اینجا بررسی می شود که کاربر وارد سایت شده باشد تا بتواند محتوای مسیر را مشاهده کند)؛ سپس شروط متد ()\u200f\u200ehas_object_permission \u200fبررسی می گردد. در این متد ما اجازه مشاهده جزئیات تک تک کتاب ها را به کاربران وارد شده به سایت داده ایم (پذیرش متدهای \u200eHEAD ،GET\u200f و \u200e(OPTIONS\u200f اما برای ویرایش اطلاعات هر شئ (کتاب) باید مقدار \u200eusername\u200f کاربر با مقدار \u200eobj.creator\u200f برابر باشد؛ وگرنه با پیام خطای مندرج در متغیر \u200emessage \u200fمواجه می شود.
فهرست مطالب کتاب
به وجود آمدن جنگو، به عنوان یک فریم ورک قدرتمند و در عین حال ساده، خبر خوشی برای فعالان حوزه ی برنامه نویسی بود. علیرضا عظیم زاده میلانی در کتاب آموزش کاربردی جنگو (Django) به طرح مباحثی درمورد این فریم ورک کاربردی می پردازد و آموختن آن را به تجربه ای شیرین تبدیل می کند.
درباره ی آموزش کاربردی جنگو (Django)
معرفی کتاب آموزش کاربردی جنگو (Django)
این کتاب مخصوص کسانی است که در زمینه ی برنامه نویسی مشغول به فعالیت اند و قصد دارند با فریم ورک جنگو بیشتر آشنا شوند.
در بخشی از کتاب آموزش کاربردی جنگو (Django) می خوانیم