Django не оценивает переменные шаблона
Когда я осматриваю страницу, я вижу: post="{% url daySlots %}"
Но я ожидаю увидеть, что это будет оценено: post="/daySlots/"
Он также игнорирует другие переменные, html показывает имя переменной как: {{ duration }} вместо значения 1.5, которое я ожидаю.
в моем views.py код html генерируется в функции типа:
html_cal = Calendar(today.year, today.month, day_colors)
context = {
"html_cal": mark_safe(html_cal)
}
response = render(request, "pages/book.html", context)
book.html выглядит как
{% block content %}
<div class="row">
{{ html_cal }}
</div>
{% endblock content %}
В функции "Календарь" также есть форматированный текст, например:
td = f"post=\"{{% url daySlots %}}\"
Есть идеи, как заставить Django распознавать переменные в html?
Вы можете передать скомпилированный Template в тег {% include %}, таким образом вы можете генерировать фрагменты шаблона, подобные вашему, и отображать их в другом шаблоне с текущим контекстом.
from django.template import Template
html_cal = Calendar(today.year, today.month, day_colors)
context = {
"html_cal": Template(html_cal)
}
response = render(request, "pages/book.html", context)
Ваш шаблон
{% block content %}
<div class="row">
{% include html_cal %}
</div>
{% endblock content %}