姜戈 - 'elif'。您是否忘记注册或加载此标签?



我正在开发一个简单的Django应用程序。下面的代码是否有效?我的代码:

{% if request.session.role is "Manager" %}
{% extends 'manager_base_nav.html' %}
{% elif request.session.role is "Agent" %}
{% extends 'agent_base_nav.html' %}
{% else %}
{% extends 'customer_base_nav.html' %}
{% endif %}

你必须将extends放在首位,如果你想在应用程序中使用if或else,你可以通过在views.py 中定义一个变量来实现

if request.session.role is "Manager":
ex_template = 'manager_base_nav.html'
elif request.session.role is "Agent":
ex_template = 'agent_base_nav.html' %}
else:
ex_template = 'customer_base_nav.html'

在你的html文件上,你必须做这个

{% extends ex_template %}
不,这是无效的。正如关于模板继承的文档所说:

如果在模板中使用{% extends %},它必须是该模板中的第一个模板标记。否则,模板继承将不起作用。

因此,您应该使用不同的模板,每个模板都继承自不同的基本模板,并让视图逻辑决定使用哪个模板。

{% extends %}应该是模板中的第一个标记。

你可以在views.py中做你想做的事情,类似这样:

if request.user.role == manager:
render something
else:
render something else

相关内容

  • 没有找到相关文章

最新更新