以下のコードで、リクエストと共にオブジェクトを送信しようとしていますが、テンプレートでデコードする方法が正しい場合はこれは正しいですか。
def index(request):
cat = Category.objects.filter(title="ASD")
dict = {"cat" : cat}
request.update("dict" : dict)
#or
request.dict=dict;
そしてテンプレートでは、次のようにコードを書きます。
{% for obj in request.dict%}
obj.title
{% endfor %}
EDIT:
私はのような機能を呼んでいるなら
def post_list(request, page=0, paginate_by=20, **kwargs):
logging.debug("post_list")
page_size = getattr(settings,"BLOG_PAGESIZE", paginate_by)
return list_detail.object_list(
request,
queryset=Post.objects.published(),
paginate_by=page_size,
page=page,
**kwargs
)
回答:
回答№1は2あなたはこれをすることができました、しかし、なぜあなたはそうしたいですか? Djangoは文脈を通して、テンプレートにデータを渡す簡単で、よく定義され文書化された方法を持っています。なぜそれを回避する方法を試してみてください?
コメント後に編集 繰り返しますが、Djangoには、次のようにして、追加のコンテキストを一般的なビューに渡すための完璧な方法があります。 extra_context
これもパラメータ 文書化されている.
回答№2の場合は0
ビューをレンダリングするために使用する実際の関数を表示していません。render()
, render_to_response()
、など)。
あなたが使っているとしましょう render_to_response()
:
render_to_response(template_name[, dictionary][, context_instance][, mimetype])
与えられたテンプレートを与えられたテンプレートでレンダリングします コンテキスト辞書を返して レンダリングされたHttpResponseオブジェクト テキスト。
あなたが渡したのであれば {"foo": your_object}
あなたが使用できる辞書として {{ foo }}
あなたのテンプレートに直接。
あなたが object_list
一般的なビュー extra_context
:
extra_context: 値の辞書 テンプレートコンテキストに追加します。によって デフォルトでは、これは空の辞書です。 辞書の値が 呼び出し可能、総称ビューが呼び出す テンプレートをレンダリングする直前です。