Python Django:如何将jinja2变量注入模板标记中,然后返回输出

Python Django:如何将jinja2变量注入模板标记中,然后返回输出,python,django,jinja2,Python,Django,Jinja2,我试图将jinja2变量作为参数传递给函数,但我不确定这样做的语法或方法 我尝试过在jinja2函数调用中包含引用,但没有成功 我已经测试了这个函数,它使用一个简单的字符串“test”工作,值在页面中呈现 HTML部分 。。。 {test_records%}中的测试为% {{test.id} {{test.testname} {{test.created}} {{test.recordtype} {{{{test.recordtype}}{124; my_function} {%endfor%}

我试图将jinja2变量作为参数传递给函数,但我不确定这样做的语法或方法

我尝试过在jinja2函数调用中包含引用,但没有成功

我已经测试了这个函数,它使用一个简单的字符串“test”工作,值在页面中呈现

HTML部分

。。。
{test_records%}中的测试为%
{{test.id}
{{test.testname}
{{test.created}}
{{test.recordtype}
{{{{test.recordtype}}{124; my_function}
{%endfor%}
...
PYTHON文件

来自django导入模板的

register=template.Library()
def my_函数(值):
如果值:
返回值
返回“”
register.filter('my\u function',my\u function)
我希望输入变量被呈现到页面中


任何建议都会有帮助的,谢谢

这不是一个模板标签,而是一个模板过滤器(注意,
register.filter(…)
),您只需使用一个垂直条进行过滤:

{{ test.recordtype|my_function }}
{{test.recordtype | my_function}}
以下章节对此进行了描述:

可以通过过滤器修改变量。过滤器与变量之间用管道符号(
|
)隔开,括号中可能有可选参数。可以链接多个过滤器。一个过滤器的输出应用于下一个过滤器


您在问题中提到了Jinja2,但由于您使用的是django import template的
,看起来您使用的是django模板语言,而不是Jinja2。@Alasdair我想您是对的,我从一个在线教程中得知这是jinja。谢谢你的更正。