2

果物の名前を含む変数を繰り返し処理する for ループを Jinja テンプレートに記述するのが困難であり、本体には変数としても提供されるその果物の特性があります。

したがって、次の変数があるとしましょう

fruit=apple,banana,grapes
apple_color=red
apple_weight=1kg
banana_color=yellow
banana_weight=2kg
grapes_color=green
grapes_weight=3kg

フルーツ変数を反復する for ループを作成するのが困難であり、その後、反復されるフルーツに固有の変数のみを本体で呼び出します。したがって、値がリンゴの場合の最初の反復では、本体は変数 apple_color と apple_weight を使用する必要があり、同様に 2 番目の反復バナナでは、本体の変数はbanana_colorとbanana_weightです。

これには、何か他の目的でリストを使用する必要がありますか?

4

1 に答える 1

1

あなたのコードで:

fruits = {'apple' : {'color', apple_color, 'weight' : apple_weight}, 'banana' : {'color' : banana_color, 'weight' : banana_weight}, 'grapes' : {'color' : grapes_color, 'weight' : grapes_weigh}} 

or if you use your already defined variables like  : apple_color = 'red'

fruit_names = ['apple', 'banana', 'grapes']
fruits = {}
for each in fruit_names :
    fruits[each] = {}
    fruits[each]['color'] = globals()['%s_%s' %(each, 'color')]
    fruits[each]['weight'] = globals()['%s_%s' %(each, 'weight')]

あなたのテンプレートで:

{% for each in fruits %}
    {{ fruits[each].color }}
    {{ fruits[each].weight }}
{% endfor %}

or :

{% for key, value in fruits.items() %} 
    {{ key }}
    {{ value.color }} 
    {{ value.weight }} 
{% endfor %}
于 2012-12-09T13:11:07.237 に答える