From 0963f184abd96800b76b19a6a181e1b544c7fafe Mon Sep 17 00:00:00 2001 From: Adam Johnson Date: Thu, 11 Feb 2021 13:36:32 +0000 Subject: [PATCH] Documented an example custom context processor. --- docs/ref/templates/api.txt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/ref/templates/api.txt b/docs/ref/templates/api.txt index f9647fd83a..01748715b7 100644 --- a/docs/ref/templates/api.txt +++ b/docs/ref/templates/api.txt @@ -755,8 +755,17 @@ Writing your own context processors A context processor has a simple interface: It's a Python function that takes one argument, an :class:`~django.http.HttpRequest` object, and returns a -dictionary that gets added to the template context. Each context processor -*must* return a dictionary. +dictionary that gets added to the template context. + +For example, to add the :setting:`DEFAULT_FROM_EMAIL` setting to every +context:: + + from django.conf import settings + + def from_email(request): + return { + "DEFAULT_FROM_EMAIL": settings.DEFAULT_FROM_EMAIL, + } Custom context processors can live anywhere in your code base. All Django cares about is that your custom context processors are pointed to by the