Я пытаюсь использовать язык шаблонов Jinja2 с Django. При попытке отобразить шаблон я получил ошибку «jinja2.exceptions.UndefinedError:« url_for »не определен». Функция url_for () работает абсолютно нормально при использовании с шаблонами в приложениях Flask.
Шаблон выглядит следующим образом:
{% extends "login_auth/base.html" %}
{% block title %} ProjectName {% endblock %}
{% block style %}
<link rel="stylesheet" href="{{url_for('static/login_auth', filename='index_stl.css')}}">
<script src="{{ url_for('static/login_auth', filename='index.js') }}"></script>
{% endblock %}
Трассировка выглядит следующим образом:
File "/home/ParserMouth/folder1/folder2/ProjectName/myvenv/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
34. response = get_response(request)
File "/home/ParserMouth/folder1/folder2/ProjectName/myvenv/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
115. response = self.process_exception_by_middleware(e, request)
File "/home/ParserMouth/folder1/folder2/ProjectName/myvenv/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
113. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/ParserMouth/folder1/folder2/ProjectName/ProjectName/login_auth/views.py" in index
10. return render(request,"login_auth/index.html") # index.html will be welcome screen
File "/home/ParserMouth/folder1/folder2/ProjectName/myvenv/lib/python3.6/site-packages/django/shortcuts.py" in render
36. content = loader.render_to_string(template_name, context, request, using=using)
File "/home/ParserMouth/folder1/folder2/ProjectName/myvenv/lib/python3.6/site-packages/django/template/loader.py" in render_to_string
62. return template.render(context, request)
File "/home/ParserMouth/folder1/folder2/ProjectName/myvenv/lib/python3.6/site-packages/django/template/backends/jinja2.py" in render
71. return self.template.render(context)
File "/home/ParserMouth/folder1/folder2/ProjectName/myvenv/lib/python3.6/site-packages/jinja2/asyncsupport.py" in render
76. return original_render(self, *args, **kwargs)
File "/home/ParserMouth/folder1/folder2/ProjectName/myvenv/lib/python3.6/site-packages/jinja2/environment.py" in render
1008. return self.environment.handle_exception(exc_info, True)
File "/home/ParserMouth/folder1/folder2/ProjectName/myvenv/lib/python3.6/site-packages/jinja2/environment.py" in handle_exception
780. reraise(exc_type, exc_value, tb)
File "/home/ParserMouth/folder1/folder2/ProjectName/myvenv/lib/python3.6/site-packages/jinja2/_compat.py" in reraise
37. raise value.with_traceback(tb)
File "/home/ParserMouth/folder1/folder2/ProjectName/ProjectName/login_auth/jinja2/login_auth/index.html" in top-level template folder2
1. {% extends "login_auth/base.html" %}
File "/home/ParserMouth/folder1/folder2/ProjectName/ProjectName/login_auth/jinja2/login_auth/base.html" in top-level template folder2
12. {% block style %} {% endblock %}
File "/home/ParserMouth/folder1/folder2/ProjectName/ProjectName/login_auth/jinja2/login_auth/index.html" in block "style"
4. <link rel="stylesheet" href="{{ url_for('static/login_auth', filename='index_stl.css') }}">
Exception Type: UndefinedError at /
Exception Value: 'url_for' is undefined
Я хочу знать, как решить эту проблему. Заранее спасибо.