2016-07-22 4 views
-1

私はDjangoに新しく、私はテンプレートに2つのリスト(rawmaterialfood)を渡しました。そして、私はこのようなループをしたいと思います。構文が正しくありません)2つのパラメータを持つdjangoのループ

for(i=0;i<food.length;i++) 
    <div ,id="menuFood> 
    <h4> food.name(i)</h4> 
    <h4> rawmaterial.name(i)</h4> 
    </div> 

をしかし、私が検索するとき、私はこのようなループのみ見つけることができます:

{% for o in some_list %} 
{% endfor %} 

ので、この構文で、私はそのループを作成する方法を理解することはできませんが。

def foods(request): 
    food = Food.objects.all() 
    raw = []; 
    . 
    . 
    . 
    raw.append(warehouse) 
    return render(request, 'polls/foods.html', {'food': food,'rawmaterial': raw}) 

答えて

1

あなたはDjangoテンプレートにインデックスを行うことはできませんが、あなたは自分の意見で一緒に2つのリストを置くことができる:私はここ

が私の見解コード..ですのみネストされたループは、この構文で行うことができると思いますによって

{% for food, raw in result %} 
<h4>{{ food }}</h4> 
<h4>{{ raw }}</h4> 
{% endfor %} 

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

food = Food.objects.all() 
raw = [] 
# ... 
raw.append(warehouse) 

result = zip(food, raw) 
return render(request, 'polls/foods.html', {'result': result}) 

:の.py zip機能を使用して代わりに、我々はない

for(i=0; i<food.length; i++) 
    print food[i] 

を::

for i in food: 
    print i 

Djangoテンプレートは、同様の構文を採用している、それがループを書いて作る方法、あなたはPythonの人々に決してしないためにJava/C++の背景から来ているようですはるかに簡単です。

+0

ありがとうございます! – user122434

関連する問題