2017-07-05 140 views
0

即時通訊嘗試使用for循環爲每一天添加一些數字 我想訪問for循環之外的變量im不知道如何去做這個我正在使用與python瓶框架,只是來自在這不是問題的地方很煩人,是否有辦法使它在燒瓶中以相同的方式工作?如何在for循環之外訪問jinja2變量?

這裏是一些簡單的代碼

{% set newtotal = 0 %} 
{% for item in daily: %} 
    {% set newtotal = newtotal + item[10]|float %} 
{% endfor %} 

<div class="bottom"> 
    <span>Total: {{ newtotal }}</span> 
</div> 

通過項目所收集的數[10]是美元價值 如果我把它顯示的每個值作爲其添加了ENDFOR前{{ newtotal }}這不是我要

編輯: 它是否有助於每日8元組

+0

你能在一個名爲 「newtotal」 變量等於'傳遞給len(每日)'(你會在你的Python服務器腳本中計算)? – cosinepenguin

+0

這基本上是我最終這樣做的提示;) – Mike

回答

0

一個解決方案的列表(可能是「簡單」)將改變你的Python腳本傳入一個名爲newtotal的變量,該變量只是daily列表的長度!

或者,你可以使用length filter

{{things|length}} 

在這種情況下,你的代碼可能是這個樣子:

{% set newtotal = 0 %} 
{% for item in daily: %} 
    {% set newtotal = newtotal + item[10]|float %} 
{% endfor %} 

<div class="bottom"> 
    <span>Total: {{daily|length}}</span> 
</div> 

希望它能幫助!

其他資料來源:

jinja2: get lengths of list

How do I access Jinja2 for loop variables outside the loop?

編輯

對不起,我誤解的問題!

您可以使用sum filter替代({{ list | sum() }})。

所以,你的代碼可能看起來像:

{% set newtotal = 0 %} 
{% for item in daily: %} 
    {% set newtotal = newtotal + item[10]|float %} 
{% endfor %} 

<div class="bottom"> 
    <span>Total: {{ daily | sum() }}</span> 
</div> 

新來源:

Documentation Sum elements of the list in Jinja 2

+0

當我這樣做,它只是返回列表的長度不是在位置10的項目的總和 – Mike

+0

我編輯答案,希望它的作品,似乎已經爲其他人工作過! – cosinepenguin