Django模板语法错误

4
以下代码语法是否有问题?出现了错误:Invalid block tag: 'else'
{% ifequal chat_profile 1 %}
    {% extends "chatprofile/chat_profile1.html" %}
{% else %}
    {% extends "chatprofile/chat_profile.html" %}
{% endifequal %}
2个回答

6

确实,您必须使用 extends 作为第一个标记,但是您还可以将变量传递给它而不是固定字符串:

{% extends base %}

然后,您可以包含一个名为base的上下文变量,其中包含要继承的模板名称,例如:

    return render_to_response('my_template.html',
                          { 'base': 'chatprofile/chat_profile1.html' })

Barobes:如果我没有查询集,你能告诉我如何使用它吗?谢谢。 - Rajeev

4

文档中指出:

如果您在模板中使用 {% extends %},那么它必须是该模板中的第一个模板标记。否则,模板继承将无法工作。

因此,考虑使用可以使用 {% include %} 的设计。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接