我有我的主要主页模板,我想扩展两组标题中的一组,但是我收到的错误似乎表明else在此语句中不起作用。当用户没有登录并且elif显示为undefined时,我也尝试更改为elif。这些是文件中的第一行代码,因此在这些代码之前也没有加载其他东西。问题代码:
{% if user.is_authenticated %}
{% extends "main/header.html" %}
{% else %}
{% extends "landing/header.html" %}
{% endif %}
是否不允许有条件地添加延伸?如果是这样,有正确的方法吗?
答案 0 :(得分:1)
include
和extends
的工作方式不同。
有条件使用extends
的一种方法是使用内置过滤器yesno
{% extends request.user.is_authenticated|yesno:'main/header.html,landing/header.html' %}
答案 1 :(得分:0)
{% if user.is_authenticated %}
{% include "main/header.html" %}
{% else %}
{% include "landing/header.html" %}
{% endif %}