Django 为什么';当没有可用项时,{%empty%}选项是否显示?

Django 为什么';当没有可用项时,{%empty%}选项是否显示?,django,templates,tags,Django,Templates,Tags,我在django模板中设置了一个带有“empty”选项的“for/in”循环,但是当我的视图不生成任何项目时,我会得到一个404页面,而不是我的“empty”选项 我尝试过在一个“if”标记中进行子绑定,但得到了相同的结果 模板代码: {% for item in object_list %} <p>{{ item.desc }} {% empty %} <p>Nothing scheduled {% endfor %} 当queryset为空时(即,air

我在django模板中设置了一个带有“empty”选项的“for/in”循环,但是当我的视图不生成任何项目时,我会得到一个404页面,而不是我的“empty”选项

我尝试过在一个“if”标记中进行子绑定,但得到了相同的结果

模板代码:

{% for item in object_list %}
    <p>{{ item.desc }}
{% empty %}
  <p>Nothing scheduled
{% endfor %}
当queryset为空时(即,airpub_日期没有任何内容),我希望模板页面显示“nothing scheduled”。相反,我得到了一个404调试页面:

Page not found (404)
Request Method: GET
Request URL:    http://xxx.xxx.xxx/items/atc/today/
Raised by:  items.views.ItemTodayArchiveView
No items available

代码甚至没有到达模板,因为视图首先检查查询集是否为空。要禁用此检查,请在类中设置
allow_empty=True
-请参阅

Page not found (404)
Request Method: GET
Request URL:    http://xxx.xxx.xxx/items/atc/today/
Raised by:  items.views.ItemTodayArchiveView
No items available