任何方式使{%extend'…'%}条件化? – Django
我想在AJAX和regualr HTTP调用之间共享一个模板,唯一的区别是一个模板需要用base.html html,另外一个不需要。
任何想法?
使用一个variables。
{% extends base_template %}
并在您的视图中,将其设置为您的视图中的“base.html”或一个新的“ajax.html”文件,只提供该块,没有别的。
其他答案要求你传递一个额外的上下文variables。 但只要你可以访问请求对象,就没有必要:
{% extends request.is_ajax|yesno:"app/base_ajax.html,app/base.html" %}
我发现这样更方便。
{% extends override_base|default:'base.html' %}
Ps我知道这是一个古老的问题,但我find答案时find答案。 也许它会帮助其他人有同样的问题。
你可以使用{%extends variable%}
在视图中创build上下文时传递可变基本模板名称。
http://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#extends