2013-09-15 2 views
1

У меня есть список значений в моем шаблоне, который мне нужно увеличивать, основываясь на некоторых условиях. Что-то вроде этого:Увеличение элементов списка в шаблонах jinja2 (appengine)

{% set samplelist=[0,0,0] %} 

{% if condition %} 
<p>some text</p> 
{% set samplelist[0]=samplelist[0]+listpassedbymainfile[0] %} 
{% endif %} 

я получаю эту ошибку, когда я пытаюсь запустить приведенный выше код:

TemplateSyntaxError: ожидается лексема '=', получил '['

Это не поддерживается ли, если да, есть ли работа?

+0

вам не хватает закрытия '%}'? –

+0

Извините, я просто пропустил это здесь, а не в фактическом коде – Shan

ответ

4

Действительно, вы не можете использовать jinja так же, как если бы вы использовали python. Однако вы можете развернуть свою модификацию на месте с надлежащим назначением. Обратите внимание: теперь ваш список будет тем же самым из первого элемента, но с другим значением в его первом слоте. Мы можем изменить назначение, чтобы захватить полный, новое состояние samplelist таким образом:

{% set samplelist = [samplelist[0] + listpassedbymainfile[0]] + samplelist[1:] %} 
+0

Awesome .. Спасибо! Очень ценю это. – Shan

+0

@ Шэнь, если это сработало для вас, тогда вы также должны принять ответ ...! Маленькая зеленая галочка под подсчетом голосов. – Lipis

+0

@ Lipis Done, извините, я ответил через мой телефон, поэтому не мог этого сделать раньше – Shan

Смежные вопросы