2017-11-16 14 views
0

djangoのテンプレートでコンテキスト辞書を繰り返し処理しようとしています。これまでのところ私はうまくいかず、何が間違っているのか理解していません。djangoテンプレートの辞書キーと値を繰り返し処理するのに問題があります

これが私の見解です:

{% extends "base.html" %} 
{% block content %} 

<div class="jumbotron index-jumbotron"> 
    <h1 id="main-title">gCalData</h1> 
    <ul style="color:white"> 

     {% for k,v in my_dict.items %} 
      <li>{{ k }}: {{ v }}</li> 

     {% endfor %} 

    </ul> 

</div> 

{% endblock %} 

しかし、私は何も(いなくても、エラー)を取得しない:

def main_view(request): 
    cat_dict = {'Other': 0, 
        'Meeting': 0, 
        'Project 1': 0, 
        'Project 2': 0, 
        'Project 3': 0, 
        'Project 4': 0, 
        'Collaboration 1': 0, 
        'Collaboration 2': 0, 
        'Collaboration 3': 0, 
        'Process 1': 0 
        } 
    my_dict = gCalScriptMain.gCalScript(cat_dict) 
    return render(request, 'gCalData/gCalData_main.html', context=my_dict) 

は代わりに、これは私のテンプレートです。私はテンプレートでこれを入れた場合、私は単一の値を取得している行うことができます 唯一:

{% extends "base.html" %} 
{% block content %} 

<div class="jumbotron index-jumbotron"> 
    <h1 id="main-title">gCalData</h1> 
    <p style="color:white">{{ Other }}</p> 

</div> 

{% endblock %} 
+0

あなたはdictsがdjangoでどのように動作するのでしょうか? – SuperStew

+0

テンプレートの反復を意味しますか?それは、スタックオーバーフローで見た他の質問に基づいています。私が自分自身のために見ることができない間違いをしていない限り(私はまだ学んでいるのでそうはないでしょう) – gchino

+0

繰り返しはおそらく大丈夫ですが、通常はmy_dict [k]のようなものを使用して値。 – SuperStew

答えて

1

contextあなたはrender機能に与えるテンプレートで使用できる変数の辞書です。これは、あなたの辞書を使用する場合は、あなたは

... 
return render(request, 'gCalData/gCalData_main.html', context={"my_dict": my_dict}) 

を行う必要があり、その後、あなたはテンプレートでmy_dictを反復処理することができ、OtherMeetingなど

を使用できることを意味します。

+0

これは完璧に機能しました!ありがとう! – gchino

関連する問題