2

これについては 100 万件の質問 (および回答) があるようですが、どれもうまくいきません。

私はこのようなものを持っています:

test_dict = {'name':'Joe'}
return render_to_response('home.html',test_dict,context_instance=RequestContext(request))

テンプレートでは、私はこれをやろうとしています:

{% for k,v in test_dict.items %}
  Hello {{ v }} <br />
{% endfor %}

しかし、運がありません。一方、これは機能します:

Hello {{ name }}

(いいえ for ループ)。私は本当に明らかな何かを見逃しているに違いありませんか?

編集
最初の答えに応えて、私もこれを試しました:

test_dict = {'name':'Joe'}
data = {'test_dict':test_dict}

return render_to_response('home.html',data,context_instance=RequestContext(request))

そしてテンプレートで:

{% block content %}
  {% for k, v in data.items %}
    Hello {{ v }} <br />
  {% endfor %}
{% endblock %}

まだ何も表示されません。

4

2 に答える 2

2

あなたが望むことをするために、あなたは次のようなものが欲しいでしょう

data = {'test_dict':test_dict}
return render_to_response('home.html',data,context_instance=RequestContext(request))

ドキュメントから

テンプレート コンテキストに追加する値のディクショナリ。

したがって、あなたの例では、test_dict がテンプレート コンテキストに挿入されます。次のように機能すると考えてください。

template = Template()
for k, v in dictionary.items():
    template[k] = v

したがって、test_dict はテンプレートのコンテキストに注入されませんが、test_dict のキーと値は注入されます。

于 2012-04-17T01:31:20.663 に答える
0

いつ:

test_dict = {'name':'Joe'}
data = {'test_dict':test_dict}

return render_to_response('home.html',data,context_instance=RequestContext(request))

使用する:

{% for k, v in test_dict.items %}
于 2012-04-18T19:44:45.153 に答える