diff options
author | David Sanders <shang.xiao.sanders@gmail.com> | 2023-03-29 17:54:04 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-29 08:54:04 +0200 |
commit | 5dba5fda551afe169dce7620b08a99c3455ebb00 (patch) | |
tree | 10b1156a8e519ed3d10a4108e5f6ca11aa10df86 /django | |
parent | 996c802229b93fe83c39842e56c6b8668464deaf (diff) | |
download | django-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.py | 10 |
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: |