Questa è una domanda molto simile a questo SO infilare su middleware and views communicatingmiddleware vs. processore contesto per vista dipendente navigazione/visualizzazione
Vorremmo avere i nostri modelli di essere dato un insieme standard di variabili di contesto. Quindi, un processore di contesto sembra appropriato, tuttavia, non sembra che il processore di contesto sia consapevole della vista. In precedenza eravamo stati costretti a ispezionare lo stack delle chiamate per ottenere informazioni contestuali su quale vista stava facendo cosa.
Ecco dove abbiamo visto il thread del middleware e la firma process_view()
per un middleware che ci fornisce un handle per la visualizzazione.
Questo sembrava più vicino ai nostri bisogni, ma non ci ha permesso di modificare la variabile di contesto, né gli altri metodi di middleware.
Quindi la nostra idea intial sbandierati era quello di modificare l'oggetto richiesta, tutte le informazioni a livello mondiale e contestuali avevamo bisogno per i nostri modelli e costringere i modelli per chiamare dalla {{request.something}}
per le informazioni specifiche cui abbiamo bisogno, come ad esempio {{request.viewname}}
.
Quindi, le nostre domande:
- sta modificando/valori di impostazione sulla richiesta obiettare una cosa accettata da fare per spingere informazioni specifiche app contestuali/globale per i tuoi modelli? Oppure la pratica standard è sempre quella di metterlo in contesti?
- Esistono modi/trucchi per rendere consapevoli i processori di contesto che non comportano il passaggio esplicito o l'introspezione dello stack?
- Il
middleware.process_response
ha l'opportunità di modificare il contesto o è immutabile?
Vedi anche http://jboxer.com/2009/05/django-middleware-vs-context-processors/ – Ztyx