urlmiddleware er en Django app, der giver dig mulighed for at definere middleware i din Django projekt baseret på url konfigurationer snarere end at tilføje middleware globalt til hver enkelt anmodning.
Hvorfor?
Tilføjelse middleware globalt er ikke altid en god ting. Du må kun have det til at tage effekt på visse områder i dit websted. Tredjeparts apps kan også derefter medtage deres middleware definitioner i url.py filen og fjerne behovet for dig at ændre globale indstillinger.
Quick Start
Installer urlmiddleware:
pip installere urlmiddleware
Der er ingen grund til at føje den til dine installerede apps, men du behøver at registrere en global middleware klasse, så vil styre url baseret middleware:
MIDDLEWARE_CLASSES = (
& Nbsp; # ...
& Nbsp; # tilføje urlmiddleware efter alle andre middleware.
& Nbsp; "urlmiddleware.URLMiddleware«,
)
Begynde at tilføje middleware til dit projekt i dine url.py filerne nedenfor din normale url definitioner:
middlewarepatterns = mønstre ('',
& Nbsp; url (r '^ mitpgm /', MyMiddleWareClass),
)
Et almindeligt eksempel er at bruge denne teknik til at føje login kræves for at hele sub sektioner af dit url træ. Først skal du oprette en LoginRequiredMiddleware:
fra indstillingerne django.conf import-
fra django.contrib.auth.views import login
fra django.http import HttpResponseRedirect
class LoginRequiredMiddleware (objekt):
& Nbsp; def process_request (selv, anmodning):
& Nbsp; login_path = settings.LOGIN_URL
& Nbsp; hvis request.path = login_path og request.user.is_anonymous ():
& Nbsp; hvis request.POST:
& Nbsp; tilbagevenden login (anmodning)
& Nbsp; andet:
& Nbsp; returnere HttpResponseRedirect ('% s næste =% s?'% (Login_path, request.path))
Så i din urls.py fil:
fra myapp.middleware import LoginRequiredMiddleware
middlewarepatterns = mønstre ('',
& Nbsp; url (r '^ konti / «, LoginRequiredMiddleware),
)
! Udført
Krav :
- Python
- Django
Kommentarer ikke fundet