Rad*_*Hex 67 python django ajax django-templates
我想在AJAX和regualr HTTP调用之间共享一个模板,唯一的区别是一个模板需要使用base.html html,另一个没有.
任何的想法?
Cru*_*uel 125
其他答案要求您传递其他上下文变量.但只要您可以访问请求对象,就没有必要:
{% extends request.is_ajax|yesno:"app/base_ajax.html,app/base.html" %}
Run Code Online (Sandbox Code Playgroud)
我发现这样更方便.
Dan*_*man 84
使用变量.
{% extends base_template %}
Run Code Online (Sandbox Code Playgroud)
并在您的视图中,在视图中将其设置为"base.html",或者只提供块的新"ajax.html"文件,而不是其他内容.
Bri*_*and 26
{% extends override_base|default:'base.html' %}
Run Code Online (Sandbox Code Playgroud)
Ps我知道这是一个老问题,但我在寻找答案时找到了它.也许它会帮助其他人解决同样的问题.
你可以使用{%extends variable%}
在视图中创建上下文时,传递变量基本模板名称.
http://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#extends