urlmiddleware هو التطبيق جانغو التي تسمح لك لتحديد الوسيطة في مشروع جانغو الخاصة بك على أساس تكوينات رابط بدلا من إضافة الوسيطة على مستوى العالم لكل طلب واحد.
لماذا؟
مضيفا الوسيطة على مستوى العالم ليست دائما شيئا جيدا. قد تحتاج فقط إلى حيز التنفيذ في مناطق معينة في موقع الويب الخاص بك. يمكن تطبيقات الطرف الثالث أيضا بعد ذلك تشمل التعاريف الوسيطة في ملف url.py وإزالة الحاجة لتتمكن من تعديل إعدادات العالمية.
بداية سريعة
تثبيت urlmiddleware:
PIP تثبيت urlmiddleware
ليست هناك حاجة لإضافتها إلى تطبيقات المثبتة، ومع ذلك، كنت بحاجة لتسجيل فئة واحدة الوسيطة العالمية التي سوف ثم السيطرة على الوسيطة رابط القائمة على:
MIDDLEWARE_CLASSES = (
على & nbsp؛ # ...
على & nbsp؛ # إضافة urlmiddleware بعد كل الوسيطة الأخرى.
على & nbsp؛ "urlmiddleware.URLMiddleware،
)
البدء في إضافة الوسيطة إلى المشروع في الملفات url.py أدناه العادية تعريفات عنوان موقعك:
middlewarepatterns = أنماط (''،
على & nbsp؛ رابط (ص '^ اسم التطبيق /'، MyMiddleWareClass)،
)
وهناك مثال شائع يستخدم هذه التقنية لإضافة يلزم تسجيل الدخول إلى أقسام فرعية كاملة من شجرة عنوان موقعك. تحتاج أولا إلى إنشاء LoginRequiredMiddleware:
من django.conf إعدادات الاستيراد
من django.contrib.auth.views تسجيل الدخول الواردات
من django.http استيراد HttpResponseRedirect
فئة LoginRequiredMiddleware (كائن):
على & nbsp؛ مواطنه process_request (النفس، الطلب):
على & nbsp؛ login_path = settings.LOGIN_URL
& nbsp؛ إذا request.path = login_path وrequest.user.is_anonymous ():
& nbsp؛ إذا request.POST:
على & nbsp؛ عودة الدخول (الطلب)
على & nbsp؛ آخر:
على & nbsp؛ العودة HttpResponseRedirect ('٪ ق بجوار =٪ ق؟'٪ (login_path، request.path))
ثم في ملف urls.py الخاص بك:
من myapp.middleware LoginRequiredMiddleware استيراد
middlewarepatterns = أنماط (''،
على & nbsp؛ رابط (ص '^ حسابات /'، LoginRequiredMiddleware)،
)
! تم
المتطلبات:
بيثون
جانغو
لم يتم العثور على التعليقات