2013-12-26 2 views
0

В контексте приложения колба, я стараюсь обрабатывать текст, используя jinja2 пользовательские фильтры:Как передать переменную в фильтр

, например:

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

работает отлично, с convert() быть мой пользовательский фильтр.

Однако, когда я пытаюсь передать настройки пользователя (из опоки приложения: current_user.pref_display_unit):

<td>{{ data.get('value') | convert(data.get('unit'), {{ current_user.pref_display_unit }}) }}</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 '}' 

Итак, как пройти мимо такой varable к фильтру ?

+0

Если 'current_user' в контексте вашего Jinji, вы можете использовать его dierectly, нужно не«{{}}», просто' не конвертировать (data.get ('единица '), current_user.pref_display_unit) ' – atupal

ответ

1

Извините за шум: это было легко. Просто передать саму переменную без скобок:

<td>{{ data.get('value') | convert(data.get('unit'), current_user.pref_display_unit) }}</td> 
Смежные вопросы