Django模板系统中的IF语句
我该怎么做:
{% if thestring %}
{% if thestring.find("1") >= 0 %}
{% endif %}
{% endif %}
我在想是不是需要创建一个模板过滤器?这样可以吗?
3 个回答
1
我觉得你会发现,Django的模板系统并不是为了处理复杂的逻辑而设计的。这种处理应该在你的视图中进行,然后再传递给模板。
3
这样做是可以的。不过,建议使用 in
操作符,而不是 find()
方法。
举个例子:
{% if thestring|contains:"1" %}
3
其实你不需要自己去做一个特别的过滤器,虽然如果你做了也是可以的——另外一种方法就是写代码
{% if thestring %}
{% if "1" in thestring %}
{% endif %}
{% endif %}
这样也完全没问题。