Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django模板将模板变量传递到剪切过滤器_Python_Django_Django Templates - Fatal编程技术网

Python Django模板将模板变量传递到剪切过滤器

Python Django模板将模板变量传递到剪切过滤器,python,django,django-templates,Python,Django,Django Templates,我试图将模板传递到剪切过滤器中,类似这样 {{ myVariable|cut:"something + templateVariable" }} 我试过: {{ myVariable|cut:"something"|add:templateVariable }} 及 但这些都不起作用 可以这样做吗?它应该使用以下命令处理临时变量: 或在Django 1.2及更高版本中: {% with "something"|add:templateVariable as myFilter %} {

我试图将模板传递到剪切过滤器中,类似这样

{{ myVariable|cut:"something + templateVariable" }}
我试过:

{{ myVariable|cut:"something"|add:templateVariable }}

但这些都不起作用


可以这样做吗?

它应该使用以下命令处理临时变量:

或在Django 1.2及更高版本中:

{% with "something"|add:templateVariable as myFilter %}
    {{ myVariable|cut:myFilter }}
{% endwith %}
Add不支持字符串和int的串联,但您可以轻松创建转换为字符串的字符串,例如:

from django import template

register = template.Library()

@register.filter
def to_unicode(mixed):
    return unicode(mixed)

将允许这样的模板标记表达式
some|int | to|u unicode | add:'foo'

我发现它不起作用,因为您不能使用
add
过滤器将字符串与整数变量连接起来。我只是创建了一个客户模板标签来处理这个问题,并使用您编写的代码使事情变得更简单
{% with "something"|add:templateVariable as myFilter %}
    {{ myVariable|cut:myFilter }}
{% endwith %}
from django import template

register = template.Library()

@register.filter
def to_unicode(mixed):
    return unicode(mixed)