Я только-только начал поглядывать в сторону Python+Django, поэтому знаком с ними на уровне чтения документации.
Насколько я понимаю, в шаблонах Django
{% extends base.html %}
должен идти первой строчкой. Однако, хотелось бы иметь возможность не наследоваться от базового шаблона, если это ajax-запрос. Условие сюда, видимо, написать нельзя, поэтому на данный момент очевиден только такой вариант:
Во view проверяем, не ajax-ли запрос. Если ajax — рендерим, к примеру,
view-ajax.html
. Иначе —
view.html
в котором:
{% extends base.html %}<br/>
###<br/>
{% include view-ajax.html %}
Однако, этот вариант не выглядит привлекательным. Как, скажем:
{% notajaxextends base.html %}
Но для такого, казалось бы, очевидного поведения писать, как мне сейчас видится, не самый простой темплейт-тег — кажется сомнительным. Почти уверен что существуют решения. Да и кроме того, при extends мы переопределяем блоки базового шаблона. А так как переопределять становится нечего — что же тогда выводить? Передавать требуемый блок как параметр тега?
{% notajaxextends base.html content %}<br/>
###<br/>
{% block content %} ... {% endblock %}
Поможете начинающему джангисту разрешить эту нелепую дилему?