/ /リクエストでオブジェクトを送信する - django、django-models、django-templates、django-views

リクエストでオブジェクトを送信する - django、django-models、django-templates、django-views

以下のコードで、リクエストと共にオブジェクトを送信しようとしていますが、テンプレートでデコードする方法が正しい場合はこれは正しいですか。

 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: 値の辞書 テンプレートコンテキストに追加します。によって デフォルトでは、これは空の辞書です。 辞書の値が 呼び出し可能、総称ビューが呼び出す テンプレートをレンダリングする直前です。