Я хочу добавить некоторую гибкость в свой шаблон макета, но не могу найти способ сделать это.Это способ передать переменную в расширенный шаблон в Django?
Я ищу способ для extend
шаблон макета с переменной, т. Е. Передать переменную в дереве шаблонов не вниз.
# views.py
def my_view_func(request):
return render(request, "child.html")
# child.html
{% extends 'layout.html' with show_sidebar=True sidebar_width_class="width_4" %}
<div>Templates stuff here</div>
# layout.html
{% if show_sidebar %}
<div class="{{ sidebar_width_class }}">
{% block sidebar %}{% endblock %}
</div>
{% endif %}
Я должен поддерживать четыре шаблона с разницей в несколько строк кода теперь. Например, у меня есть два шаблона, которые отличаются друг от друга классом ширины боковой панели. Я делаю что-то неправильно?
@xpy, неа. В моем вопросе я ищу способ расширения шаблона макета с переменной, т. Е. Передать переменную в дереве шаблонов не вниз. –
Извините, неправильно поняли. – xpy
Почему вы не передадите переменные с контекстом «render (request,« child.html », {'sidebar_width':" width_4 "})'? –