Mise à jour de 'source/part-3-django-concepts/templates.adoc'
This commit is contained in:
parent
777f5a89b2
commit
3f220a82b8
|
@ -232,4 +232,34 @@ def wishlists_list():
|
|||
----
|
||||
|
||||
|
||||
|
||||
=== Contexts Processors
|
||||
|
||||
Un `context processor` permet d'ajouter des informations par défaut à un contexte (le dictionnaire qu'on passe de la vue au template).
|
||||
L'idée est d'ajouter une fonction à un module Python à notre projet, puis de le référencer parmi
|
||||
les CONTEXT_PROCESSORS de nos paramètres généraux. Cette fonction doit peupler un dictionnaire, et les clés de ce dictionnaire seront
|
||||
directement ajoutées à tout autre dictionnaire/contexte passé à une vue. Par exemple:
|
||||
|
||||
(cf. https://stackoverflow.com/questions/60515797/default-context-for-all-pages-django[StackOverflow] - à retravailler)
|
||||
|
||||
[source,python]
|
||||
----
|
||||
from product.models import SubCategory, Category
|
||||
|
||||
|
||||
def add_variable_to_context(request):
|
||||
return {
|
||||
'subCategories': SubCategory.objects.order_by('id').all(),
|
||||
'categories': Category.objects.order_by("id").all(),
|
||||
}
|
||||
----
|
||||
|
||||
[source,python]
|
||||
----
|
||||
'OPTIONS': {
|
||||
'context_processors': [
|
||||
....
|
||||
'core.context_processors.add_variable_to_context',
|
||||
....
|
||||
],
|
||||
},
|
||||
----
|
||||
|
|
Loading…
Reference in New Issue