Les context processor vous permet d'enrichir votre contexte pour vos templates.
Afficher l'adresse IP du client
Nous voulons récupérer au niveau du template l'adresse ip de l'utilisateur à tout moment:
backoffice/context_processor.py
def get_ip(request): return {'ip' : request.META['REMOTE_ADDR']}
Nous indiquons ensuite à Django qu'il doit prendre en compte notre fonction:
eboutique/settings.py
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS TEMPLATE_CONTEXT_PROCESSORS = TEMPLATE_CONTEXT_PROCESSORS + ( "backoffice.context_processors.get_ip", )
Et enfin si je veux récupérer la valeur IP au niveau du template:
backoffice/templates/test.html
Votre addresse IP: {{ip}}
Récupérer l'uri en cours dans votre template
Il est possbile de récupérer l'URI en cours dans votre template en faisant la manipulation suivante:
eboutique/settings.py
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP TEMPLATE_CONTEXT_PROCESSORS = TCP + ( 'django.core.context_processors.request', )
Les données de l'objet request sera disponible dans votre template. Vous pouvez par exemple afficher l'URI en cours en appellant {{request.path}}