我的模板中有以下代码:
{% for req in user.requests_made_set.all %} {% if not req.is_published %} {{ req }} {% endif %} {% empty %} No requests {% endfor %}
如果有一些请求但是没有is_published = True那么我怎么能输出一条消息(比如“No requests”)?我只想使用Django模板,而不是在我看来这样做!
由于
答案 0 :(得分:5)
即使这可能在模板中实现,我(可能还有很多其他人)会建议反对它。要实现这一点,您基本上需要确定数据库中是否存在符合某些条件的任何对象。这肯定不属于模板。
模板旨在用于定义显示内容的方式。您正在解决的任务是确定要显示的内容。这绝对属于视图,而不是模板。
如果您想避免将信息放在视图中,只是因为您希望信息显示在每个页面上,而不管视图如何,请考虑使用上下文处理器,该处理器会自动将所需信息添加到模板上下文中,或者编写模板标签,可以解决这个问题。