0
在我的Django的模板,因爲我通過對象的列表進行迭代,我想有一個列表項說:顯示在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模板語言不允許進行變量賦值。
謝謝!
非常感謝,基普。這就是訣竅:) – Harlin
鑑於這段代碼有多醜陋,將其轉化爲快速類功能的最好方法是什麼?它會在模板中縮短嗎? – mikebabcock
我不知道,我估計它可能更醜。但是,是的,你可以 - 可以在你的obj對象上寫一個方法: def random_link(self): return random.choice((self.green_link,self.blue_link)) – Kip