我想在 AJAX 和常规HTTP调用之间共享一个模板,唯一的区别是一个模板需要使用base.html html,另一个没有。你知道吗?
base.html
6gpjuf901#
其他答案要求您传递一个额外的上下文变量。但是只要可以访问请求对象,就没有必要:
{% extends request.is_ajax|yesno:"app/base_ajax.html,app/base.html" %}
我发现这个方便多了。
nhjlsmyf2#
使用变量。
{% extends base_template %}
在你的视图中,将它设置为“base.html”,或者一个新的“ajax.html”文件,它只提供块而不提供其他任何东西。
bn31dyow3#
{% extends override_base|default:'base.html' %}
我知道这是一个老问题,但我在寻找答案时发现了它。也许它能帮助其他有同样问题的人。
pieyvz9o4#
您可以使用{% extends variable %}在视图中创建上下文时,传入一个变量基模板名称。http://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#extends
4条答案
按热度按时间6gpjuf901#
其他答案要求您传递一个额外的上下文变量。但是只要可以访问请求对象,就没有必要:
我发现这个方便多了。
nhjlsmyf2#
使用变量。
在你的视图中,将它设置为“base.html”,或者一个新的“ajax.html”文件,它只提供块而不提供其他任何东西。
bn31dyow3#
我知道这是一个老问题,但我在寻找答案时发现了它。也许它能帮助其他有同样问题的人。
pieyvz9o4#
您可以使用{% extends variable %}
在视图中创建上下文时,传入一个变量基模板名称。
http://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#extends