【发布时间】:2020-10-05 07:44:15
【问题描述】:
我已经根据 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 之间随机选择,并且该值在
中正确显示标记,但不管它的值如何,它总是处于 else 条件
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
【问题讨论】:
-
{% randomgen %}在做什么?你能分享你的randomgen函数的实现(或生成它的视图)吗? -
首先确保
randomgen中的值是一个整数。我认为它的类型不是整数,那是因为你 -
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) 返回结果
-
你好,比斌,如果你可以编辑你的原始问题添加
randomgen的代码,你可以在其中使用代码格式化会更有帮助。作为评论阅读起来非常困难。 -
当然,已经做到了.. 但基本上问题更多与标签的 html 引用有关。虽然生成的值是正确的,但只有 if 条件不能正常工作
标签: html django django-templates