我正在尝试将模板传递给剪切过滤器,类似这样的
{{ myVariable|cut:"something + templateVariable" }}
我试过了:
{{ myVariable|cut:"something"|add:templateVariable }}
和
{{ myVariable|cut:"something {{ templateVariable }}" }}
但这些不起作用。
这可能吗?
答案 0 :(得分:11)
它应该使用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'
。