我想分享一个 AJAX 和常规 HTTP 调用之间的模板,唯一的区别是一个模板需要扩展 base.html html,而另一个则不需要。
我可以用
{% extends request.is_ajax|yesno:"app/base_ajax.html,app/base.html" %}
动态决定何时扩展,但我还需要包括{% block 'some_div' %}{% endbock %}
标签告诉渲染器将我的内容放在哪里。 ajax 调用需要省略这些标签,因为 jQuery 告诉它把内容放在哪里$('somediv').html(response)
.
关于如何在不是 ajax 调用时动态包含这些块标签的想法吗?
我一直在参考这个问题来弄清楚:
有什么方法可以使 {% extends '...' %} 有条件吗? - 姜戈 https://stackoverflow.com/questions/5380984/any-way-to-make-extends-conditional-django
尝试通过 {% if %} 使其工作:
{% extends request.is_ajax|yesno:",stamped/home.html" %}
{% if request.is_ajax == False%}
{% block results %}
{% endif %}
{% load stamped_custom_tags %}
...
Content
...
{% if request.is_ajax == False%}
{% endblock %}
{% endif %}
但是当解析器遇到 {% endif %} 时就会失败
这个或某些变体不行吗?
{% if request.is_ajax %}
{# ajax! #}
{% else %}
{% block 'some_div' %}{% endbock %}
{% endif %}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)