Jest to bardzo podobne pytanie do tego wątku na SO middleware and views communicatingmiddleware porównaniu z procesorem kontekstowego dla widoku zależnego nawigacja/wyświetlacza
Chcielibyśmy mieć nasze szablony mieć standardowy zestaw zmiennych kontekstowych. Tak więc procesor kontekstowy wydaje się odpowiedni, jednak nie wydaje się, aby procesor kontekstowy był świadomy widoku. Wcześniej byliśmy zmuszeni do sprawdzenia stosu wywołań, aby uzyskać kontekstowe informacje o tym, co robi widok.
To tam widzieliśmy wątek oprogramowania pośredniego oraz podpis process_view()
dla oprogramowania pośredniego, które zapewnia uchwyt do widoku.
To wydawało się bliższe naszym potrzebom, ale nie pozwalało nam modyfikować zmiennej kontekstowej, podobnie jak inne metody oprogramowania pośredniego.
Tak więc naszym głównym pomysłem, o którym mówiliśmy, było zmodyfikowanie obiektu żądania za pomocą wszystkich informacji globalnych i kontekstowych, jakich potrzebowaliśmy w naszych szablonach, i zmuszenia szablonów do wywoływania z poziomu {{request.something}}
w celu uzyskania konkretnych informacji, których potrzebujemy, takich jak {{request.viewname}}
.
Więc nasze pytania:
- modyfikuje/ustawienia wartości na życzenie object akceptowaną rzeczą do zrobienia za popychanie kontekstowe/globalne konkretne informacje aplikację do szablonów? Czy standardową praktyką jest zawsze umieszczanie go w kontekstach?
- Czy istnieją sposoby na podchodzenie do procesorów kontekstowych, które nie wymagają jawnego przekazywania lub wykonywania introspekcji stosu?
- Czy
middleware.process_response
ma możliwość modyfikacji kontekstu lub czy jest niezmienny?
Patrz także http://jboxer.com/2009/05/django-middleware-vs-context-processors/ – Ztyx