Flask 如何将变量传递给过滤器

Flask 如何将变量传递给过滤器,flask,jinja2,Flask,Jinja2,在flask应用程序上下文中,我尝试使用jinja2自定义过滤器处理一些文本: 例如: <td>{{ data.get('value') | convert(data.get('unit'), 'psi') }}</td> 在以下情况下失败: File "N:\05-dev\flask_dev\carnac\carnac\templates\honeycomb\index.html", line 42, in template <td>{{ da

在flask应用程序上下文中,我尝试使用jinja2自定义过滤器处理一些文本:

例如:

 <td>{{ data.get('value')  | convert(data.get('unit'), 'psi') }}</td>
在以下情况下失败:

File "N:\05-dev\flask_dev\carnac\carnac\templates\honeycomb\index.html", line 42, in template
    <td>{{ data.get('long beam_L')  | convert(data.get('unit'), {{  current_user.pref_display_thousandsep }}) }}</td>
TemplateSyntaxError: expected token ':', got '}'
文件“N:\05 dev\flask\u dev\carnac\carnac\templates\hobelic\index.html”,模板中第42行
{{data.get('long beam_L')| convert(data.get('unit'),{{{current_user.pref_display_thounandsep}}}}
TemplateSyntaxError:应为标记“:”,获得“}”

那么,如何将这样一个变量传递给过滤器呢?

对不起,这很简单。只需传递不带括号的变量本身:

<td>{{ data.get('value')  | convert(data.get('unit'), current_user.pref_display_unit) }}</td>
{{data.get('value')| convert(data.get('unit'),current_user.pref_display_unit)}

如果
当前用户
在金鸡的上下文中,您可以直接使用它,不需要“{}”,只需
转换(data.get('unit')、当前用户.pref\u display\u unit)
<td>{{ data.get('value')  | convert(data.get('unit'), current_user.pref_display_unit) }}</td>