在我的Django模板中,当我在迭代一个对象列表时,我希望有一个列表项说:
<li><a href="{{ obj.green_link }}">Blah</a></li>
然后另一个做:
<li><a href="{{ obj.blue_link }}">Blah</a></li>
我认为值|随机作为选项但由于某种原因这不起作用:
{% ifequal [1, 2]|random 1 %}
<a href="{{ post.adfly_url }}">{{ post.title }}</a>
{% else %}
<a href="{{ post.url }}">{{ post.title }}</a>
{% endifequal %}
执行此操作会抛出此错误:
u'ifequal' takes two arguments
有没有办法实现这个目标?我认为它应该很简单但我意识到Django模板语言不允许变量赋值。
谢谢!
答案 0 :(得分:1)
您不能将列表直接放入模板中,make_list就是您所追求的。
make_list返回一个字符串列表,这样就行了。
{% if 12|make_list|random == '1' %}
<li><a href="{{ obj.green_link }}">Blah</a></li>
{% else %}
<li><a href="{{ obj.blue_link }}">Blah</a></li>
{% endif %}