好像基本的问题,但不能得到它的工作Django模板 - comapring变量整型常量
{% if iterator.next > 10 %}
Do smth
{% endif %}
两个问题。首先,这段代码不起作用(if条件中的代码从未实现,即使条件似乎保持为真),第二个问题 - 突出显示“>”符号,就好像其中最接近的标签打开标签。任何想法如何解决第一个问题,是否可以解决第二个问题?也许有一些我错过的优雅语法,这将消除文本编辑器的这种模糊性?
好像基本的问题,但不能得到它的工作Django模板 - comapring变量整型常量
{% if iterator.next > 10 %}
Do smth
{% endif %}
两个问题。首先,这段代码不起作用(if条件中的代码从未实现,即使条件似乎保持为真),第二个问题 - 突出显示“>”符号,就好像其中最接近的标签打开标签。任何想法如何解决第一个问题,是否可以解决第二个问题?也许有一些我错过的优雅语法,这将消除文本编辑器的这种模糊性?
iterator.next可能是一个会导致语句为False的字符串。
尝试创建一个自定义过滤器将其转换为int。例如创建 “my_filters.py”:
# templatetags/my_filters.py
from django import template
register = template.Library()
@register.filter()
def to_int(value):
return int(value)
然后在你的模板:
{% load my_filters %}
{% if iterator.next|to_int > 10 %}
Do smth
{% endif %}
更多关于自定义标签和过滤器here
我就不会担心高亮,这可能只是你的IDE。我建议使用PyCharm进行Django开发
很好的答案,谢谢你) –
Django的文档说,你可以使用>与if标签:
{% if somevar < 100 %}
This appears if variable somevar is less than 100.
{% endif %}
看看文档:https://docs.djangoproject.com/en/1.9/ref/templates/builtins/
也许你缺少什么东西?
也许[自定义模板标记/过滤器](https://docs.djangoproject.com/en/1.9/howto/custom-template-tags/#custom-template-tags-and - 过滤器)的帮助。 – Gocht
请问您能更具体些吗?) –
什么是'iterator'? –