UndefinedError: 'request' не определен в шаблоне
Я использую Django 3.1. У меня есть представление шаблона, которое обычно отображается нормально, но иногда я обнаруживаю следующую ошибку в моих журналах. К сожалению, я не могу воспроизвести ее.
UndefinedError: 'request' is undefined
File "django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "django/core/handlers/base.py", line 106, in _get_response
response = middleware_method(request, callback, callback_args, callback_kwargs)
File "django/middleware/csrf.py", line 242, in process_view
return self._reject(request, REASON_NO_REFERER)
File "django/middleware/csrf.py", line 149, in _reject
response = _get_failure_view()(request, reason=reason)
File "django/views/csrf.py", line 154, in csrf_failure
return HttpResponseForbidden(t.render(c), content_type='text/html')
File "django_jinja/backend.py", line 59, in render
return mark_safe(self._process_template(self.template.render, context, request))
File "django_jinja/backend.py", line 105, in _process_template
return handler(context)
File "scout_apm/instruments/jinja2.py", line 74, in wrapped_render
return wrapped(*args, **kwargs)
File "jinja2/environment.py", line 1090, in render
self.environment.handle_exception()
File "jinja2/environment.py", line 832, in handle_exception
reraise(*rewrite_traceback_stack(source=source))
File "jinja2/_compat.py", line 28, in reraise
raise value.with_traceback(tb)
File "/app/templates/403_csrf.html", line 8, in top-level template code
{% set card_body %}
File "/app/templates/global/base_tenant.html", line 2, in top-level template code
{% extends 'global/base.html' %}
File "/app/templates/global/base.html", line 4, in top-level template code
{% block header %}
File "/app/templates/global/base.html", line 26, in block "header"
<link nonce="{{ request.csp_nonce }}" rel="manifest" href="{{ static('manifest.json') }}">
File "jinja2/environment.py", line 471, in getattr
return getattr(obj, attribute)
Похоже, это проблема с тем, что переменная request
не находится в контекстной переменной, однако я думал, что Django всегда без исключения доставляет request
в шаблон?