خب سلامی دوباره بریم ادامه ، تا لایه های جنگو خوندیم حالا :
وقتی درخواستی توسط یوزر وارد میشود واسطه ها ( Middlewares ) درخواست را از جنگو انجام میدهند و میتوانیم این هارا در فایل Settings.py ببینیم ، هنگام پردازش برنامه ها، جنگو از دستورالعمل های Middlewares پیروی می کند. ما میتوانیم بسته ب پروژه و نیازمون Middlewares های اختصاصی خودمونو بنویسیم.
بعد از درخواست های که بالا گفتیم انها ارسال شده به URL Router یا URL dispatcher.
مرحله بعد URL Router درخواست گرفته شده وURL Path درخواست را ازش میگیرد .و سعی میکند اینهارا طبق الگو های URL PATTERN مچ کنه.این URL ها الگوهای به صورت عبارت های عادی هستند.پس از تطبیق مسیرهای URL ها و مسیریابی الگو ها ، درخواست های موجود به VIEW مرتبط میشود .
و حالااااااا ما در لایه View هستیم و مشاهده ها با استفاده از داده های درخواست و در خواست ها ( GET POST , ETC ) . بعد از پردازش درخواست VIEW درخواستش رو از پردازنده های متن میده و بعد اون ها با الگو های نام اشنای HTTP جواب داده میشوند.
دوباره این درخواست ها برای پردازش به واسطه ها ( Middlewares ) ارسال میشود . واسطه ها درخواست را پردازش میکنند و اطلاعات و دیتا را قبل از ارسال به ( مرورگر یوزر ) اصلاح میکنند و بعدش مرورگر دیتا را رندر و نسخه نهایی را به کاربر نمایش می دهد .
Middleware is a framework of hooks into Django’s request/response processing. It’s a light, low-level “plugin” system for globally altering Django’s input or output.
Each middleware component is responsible for doing some specific function. For example, Django includes a middleware component, AuthenticationMiddleware
, that associates users with requests using sessions.This document explains how middleware works, how you activate middleware, and how to write your own middleware. Django ships with some built-in middleware you can use right out of the box. They’re documented in the built-in middleware reference.
تعریفی کوتاهی در داکیومنت خود Django هست ، middlewares در کارکرد های مهم یک پروژه جنگویی ما نقش مهم دارد مثلا :::: ما برای جلوگیری از حملات فیکrequest forgery از CSRF واسطه ها استفاده میکنیم ک کارش مدیریت داده است . اهراز حویت Authentication و مجوز هارا با استفاده از همین واسطه ها انجام می دهند که ما میتوانیم کلاس های middlewares خود را برای شکل دادن و نوشتن جریان داده را در برنامه خود بنویسیم.
امیدوارم خوشتون اومده باشه خوشحال میشم نظراتتونو بنویسید. تشکر موفق باشید