0

我的模板中有以下代码:

{% for req in user.requests_made_set.all %}
  {% 如果不是 req.is_published %}
    {{ 要求 }}
  {% 万一 %}
{% 空的 %}
  没有请求
{% endfor %}

如果有一些请求但没有 is_published = True 那么我怎么能输出一条消息(比如“没有请求”)?我只想使用 Django 模板而不是在我看来这样做!

谢谢

4

1 回答 1

6

即使这可能在模板中实现,我(可能还有许多其他人)会建议不要这样做。为此,您基本上需要找出数据库中是否有任何对象符合某些条件。这当然不属于模板。

模板旨在用于定义内容的显示方式。您正在解决的任务是确定要显示的内容。这绝对属于视图而不是模板。

如果您想避免仅仅因为您希望信息出现在每个页面上而避免将其放置在视图中,而不管视图如何,请考虑使用上下文处理器,它会自动将所需信息添加到您的模板上下文中,或者编写一个模板标签会为你解决这个问题。

于 2012-04-21T00:41:06.247 回答