我试图将模板传递给切割过滤器,类似这样
{{ myVariable|cut:"something + templateVariable" }}
我试过了:
{{ myVariable|cut:"something"|add:templateVariable }}
和
{{ myVariable|cut:"something {{ templateVariable }}" }}
但这些都行不通.
这可能吗?
解决方法
它应该使用
with tag的临时变量:
{% with myFilter="something"|add:templateVariable %}
{{ myVariable|cut:myFilter }}
{% endwith %}
或者在Django 1.2及更早版本中:
{% with "something"|add:templateVariable as myFilter %}
{{ myVariable|cut:myFilter }}
{% endwith %}
添加不支持字符串和int的连接,但您可以轻松地创建一个转换为字符串的template filter,例如:
from django import template
register = template.Library()
@register.filter
def to_unicode(mixed):
return unicode(mixed)
允许这样的模板标记表达式some_int | to_unicode | add:’foo’.
