Sitemap

Django middleware haqida !

2 min readApr 1, 2024

--

Press enter or click to view image in full size

Django middleware, Django framework-i ichidagi bir qisim bo’lib, HTTP so’rovlarini qabul qilish va javob berish jarayonida ishlaydigan kod qismidir. Middleware so’rov va javoblar orasida joylashgan va ularga o’zgartirishlar qilish imkoniyatini beradi.

Django middleware-i server tomonidan kelgan HTTP so’rovlarni o’z ichiga oladi va ularga ishlov berishdan oldin va keyin bir nechta qo’shimcha operatsiyalarni bajarish imkoniyatini beradi. Misol uchun, so’rovni tekshirish, autentifikatsiya va yetkilash, loyihada statistik ma’lumotni yig’ish, so’rovga qo’shimcha ma’lumotlar qo’shish va h.k. kabi amallarni bajarish uchun middleware qo’shish mumkin.

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

Middleware-lar, Django-dagi MIDDLEWARE sozlamada ro'yxatlangan tartibda ishlaydi. Har bir middleware, process_request, process_view, process_exception va process_response kabi usullarni o'z ichiga oladi, bunday usullar server tomonidan kelgan so'rovlar va javoblar jarayonida ishlov beradi.

Get AslDev006’s stories in your inbox

Join Medium for free to get updates from this writer.

process_request usuli serverga kelgan so'rovni qabul qilib, uni to'g'rilab berishga imkoniyat beradi. Misol uchun, autentifikatsiya middleware-i foydalanuvchini tekshirib, autentifikatsiya qilmasa, avtorizatsiya sahifasiga yo'naltirishi mumkin.

process_view usuli, so'rovning muqobilini (view) o'z ichiga oladi va uni to'g'rilab berishga imkoniyat beradi. Bu usulni ishlatish orqali, middleware-lar so'rovni tekshirish, qo'shimcha ma'lumotlarni qo'shish yoki so'rovnigacha ma'lumotlarni o'zgartirish imkoniyatiga ega bo'ladi.

process_exception usuli, serverda xato yuz berish paydo bo'lganida ishlaydi. Misol uchun, middleware, xatoni to'g'rilab berish uchun ma'lumotlar bazasiga yoki xatolarni saqlash uchun qo'shimcha jarayonlarni bajarish imkoniyatini beradi.

process_response usuli, serverdan kelgan javobni o'z ichiga oladi va uni to'g'rilab berishga imkoniyat beradi. Misol uchun, middleware-lar javobni tekshirish, javobga qo'shimcha ma'lumotlar qo'shish yoki javobni modifikatsiya qilish uchun ishlatilishi mumkin.

Django middleware-i, kodni qayta ishlash va kengaytirishga imkon beradi, chunki bu kodni alohida jarayonlarda qo’llashni ta’minlaydi. Shuningdek, middleware-lar Django loyihalarda keng tarqalgan ishga kelayotgan kodni birjalanishi va kodni modifikatsiya qilish imkonini beradi.

Umid qilamanki, bu maqola sizga Django middleware-i haqida to’liq tushuntirishga yordam berdi. Agar sizga qo’shimcha savollar bo’lsa, murojaat qilishinggiz mumkin
Telegram: @AslDev_Blog
Instagram: @AslDev006

Created by AslDev006

--

--