Итак, это моя проблема: у меня есть строка Python, которая содержит как HTML, так и Теги шаблона Django и хочу внедрить их в базовый HTML-файл, когда я перехожу на эту страницу. Хотя, когда я перехожу на страницу, все HTML отображаются, но теги шаблона Django не отображаются и обрабатываются буквально как строки?
Вот упрощенный пример проблемы:
Views.py
def page(request, code):
html = {
'code': code
'html': """<p>Hello world {{ code }}</p> <script src="{% static 'appName/javascript_code_example.js' %}"></script>"""
}
return render(request, 'base.html', html)
base.html
{% load static %}
...
{{ html | safe }}
...
И все, что я увижу, когда запущу приложение на своем локальном компьютере с python3 manage.py runserver
и перейду к URL-адресу, отображающему base.html, будет Hello world {{ code }}
, а код Javascript не будет выполнен. Вместо {{ code }}
я хотел бы видеть фактическое значение ключа 'code'
в словаре html в файле Views.py.
Если мой файл base.html выглядит следующим образом:
{% load static %}
...
<p>Hello world {{ code }}</p>
<script src="{% static 'appName/javascript_code_example.js' %}"></script>
...
Затем будет включен Javascript, и я увижу Hello world value_of_code_variable
на экране.