我已经尝试过基于django模板中定义的值的if条件
{% if randomgen == 2 %}
<p style="float:right;text-align: center;padding:5px 5px;"><b>{% randomgen %}1</p>
{% else %}
<p style="float:right;text-align: center;padding:5px 5px;"><b>{% randomgen %} 2</p>
{% endif %}
将randomgen定义为在1到2之间随机选择,并且该值正确显示在
标记,但无论其值如何,它总是会转到其他条件
register = template.Library()
@register.tag(name="randomgen")
def randomgen(parser, token):
items = []
bits = token.split_contents()
for item in bits:
items.append(item)
return RandomgenNode(items[1:])
def render(self, context):
arg1 = 0
arg2 = 10
if "float" in self.items:
result = random.randint(1,20)
elif not self.items:
result = random.randint(1,20)
else:
result = random.randint(1,2)
return result
在您的HTML中,设置randomgen
为另一个变量:
{% randomgen as rgen %}
然后为条件使用新设置的变量:
{% if rgen == 2 %}
老实说,我很惊讶您的代码无法正常工作,因为您的用法很直观。知道它不起作用后,我猜是模板正在将一个函数与一个整数进行比较,该整数将始终返回False。好问题!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句