पहला: पथ संरचना
यदि आपके पास यह नहीं है, तो आपको संरचना के बाद अपने ऐप के भीतर मिडलवेयर फ़ोल्डर बनाने की आवश्यकता है :
yourproject/yourapp/middleware
फ़ोल्डर मिडलवेयर को सेटिंगहोल्ड, यूआरएल, टेम्प्लेट के समान फ़ोल्डर में रखा जाना चाहिए ...
महत्वपूर्ण: मिडलवेयर फ़ोल्डर के अंदर __init__.py खाली फ़ाइल बनाना न भूलें ताकि आपका ऐप इस फ़ोल्डर को पहचान सके
दूसरा: मिडलवेयर बनाएं
अब हमें अपने कस्टम मिडलवेयर के लिए एक फ़ाइल बनानी चाहिए, इस उदाहरण में आइए हम एक मिडलवेयर चाहते हैं जो उपयोगकर्ताओं को उनके आईपी के आधार पर फ़िल्टर करें, हम इस कोड के साथ मिडलवेयर फ़ोल्डर के अंदर filter_ip_middleware.py नामक एक फ़ाइल बनाते हैं :
class FilterIPMiddleware(object):
def process_request(self, request):
allowed_ips = ['192.168.1.1', '123.123.123.123', etc...]
ip = request.META.get('REMOTE_ADDR')
if ip not in allowed_ips:
raise Http403
return None
तीसरा: हमारी 'सेटिंग' में मिडलवेयर जोड़ें
हमें देखने की जरूरत है:
MIDDLEWARE_CLASSES
(django <1.10)
MIDDLEWARE
(django> = 1.10)
सेटिंग्स के अंदर और वहां हमें अपना मिडलवेयर ( अंतिम स्थिति में जोड़ें ) जोड़ना होगा । यह इस तरह होना चाहिए:
MIDDLEWARE = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'yourapp.middleware.filter_ip_middleware.FilterIPMiddleware'
)
किया हुआ ! अब हर ग्राहक का प्रत्येक अनुरोध आपके कस्टम मिडलवेयर को कॉल करेगा और आपके कस्टम कोड को प्रोसेस करेगा!