summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorDavid Sanders <shang.xiao.sanders@gmail.com>2023-03-29 17:54:04 +1100
committerGitHub <noreply@github.com>2023-03-29 08:54:04 +0200
commit5dba5fda551afe169dce7620b08a99c3455ebb00 (patch)
tree10b1156a8e519ed3d10a4108e5f6ca11aa10df86 /django
parent996c802229b93fe83c39842e56c6b8668464deaf (diff)
downloaddjango-5dba5fda551afe169dce7620b08a99c3455ebb00.tar.gz
Fixed #34427 -- Improved error message when context processor does not return a dict.
Diffstat (limited to 'django')
-rw-r--r--django/template/context.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/django/template/context.py b/django/template/context.py
index ccf0b430dc..080a2dd9c0 100644
--- a/django/template/context.py
+++ b/django/template/context.py
@@ -251,7 +251,15 @@ class RequestContext(Context):
processors = template.engine.template_context_processors + self._processors
updates = {}
for processor in processors:
- updates.update(processor(self.request))
+ context = processor(self.request)
+ try:
+ updates.update(context)
+ except TypeError as e:
+ raise TypeError(
+ f"Context processor {processor.__qualname__} didn't return a "
+ "dictionary."
+ ) from e
+
self.dicts[self._processors_index] = updates
try: