2016-09-12 4 views
-1

同じリストの上に繰り返したときにJinja2のコードが動作しません<div class="col-sm-9">のために示されているジャンゴ:次のように私は私のDjangoのプロジェクトでHTMLファイルを持って二回

下のイメージでは、ジンジャのコードは両方のdivsのために同じであると考えました、それは片側だけ示します。

なぜ私がやっているのか聞かれるかもしれません。私はちょうどテストしています。

enter image description here

編集:

私は次のようにリストを生成しています:

def gallery(request): 
    import os, sys 
    img_list = os.scandir('/home/shared/pictures') 
    return render(request,'blog/gallery.html', {'images': img_list}) 
+0

これはあなたの正確なコードですか? – karthikr

+0

* images *とは何ですか?これまでに何を試しましたか? – Sayse

+0

imagesはファイル名の配列です。編集した質問を画像で確認してください。 –

答えて

0

あなたが代わりにリスト/タプルのgenerator objectを渡している可能性があります。

違いは、ジェネレータオブジェクトを1回だけ反復できることです。例えば

return render(request, "template.html", {'images': (i for i in range(10))}) 

は一回だけしか巡回さimagesになります(以下のテンプレートをレンダリングするビュー内の最後の/同等の行があります)。 (あなたの例では、col-sm-9ブロックは空になります)。

何かを繰り返し処理する必要がある場合は、それをリストまたはタプルとして渡す必要があります。

return render(request, "template.html", {'images': list(i for i in range(10))}) 
+0

(編集された質問を参照)私はディレクトリからファイルのリストを取得しています。どのようにリストにするのですか? –

+0

'{'images':list(img_list)}' – Kedar

+0

が表示されたら、img_listには各アイテムのパスと名前があります。私がそれを試しても、それは私にパスを表示するだけです –

関連する問題