if语句中的Django 1.5 url模板标记

时间:2014-01-09 09:33:36

标签: django-templates

我正在使用url模板标记:

{% url 'profile_get_channel' selectedFeed.id c.id %}

在我的模板中,我需要一种方法来检查selectedFeed是否不是。我用过

{% if selectedFeed %}
 {% url 'profile_get_channel' selectedFeed.id c.id %}
{% else %}
 {% url 'profile_get_all_channel' %}
{% endif %}

但是如果没有selectedFeed我得到

NoReverseMatch: Reverse for 'profile_get_channel' with arguments '('', '')' and keyword arguments '{}' not found.

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

我猜测selectedFeed不是“虚假”值(例如它是一个对象或类似物),但selectedFeed.id为空/未定义。尝试使用:

{% if selectedFeed and selectedFeed.id %}

...所以如果定义了id,它只会使用“profile_get_channel”网址。