7

私はdbからフィルタリングされたデータを取得している2つの異なるビューを持っています。これらのビューを1つのテンプレートファイル(admin.html)で使用する必要がありますが、ページで同時に複数のビューを使用することはできません。

これが私の見解です1:

draft_list = Post.objects.filter(isdraft=True).order_by("-posted")
            return render_to_response('userside/admin.html',
                     {'draft_list':draft_list,},
                     context_instance = RequestContext(request))

view2:

publish_list = Post.objects.filter(isdraft=False).order_by("-posted")
            return render_to_response('userside/admin.html',
                {'publish_list':publish_list,},
                context_instance = RequestContext(request))

idはそれらを次のように使用するのが好きです:

{% for d in draft_list %}
{{ d.title }}
{% endfor %}

--

{% for p in publish_list %}
{{ p.title }}
{% endfor %}

これらの2つのビューを「1つのビュー」にしたいのですが、正しい方法は何ですか?

4

2 に答える 2

16

1 つのテンプレートで 2 つのビューを使用したくはありませんが (これは不可能です)、レンダリング用に 1 つのテンプレートで 2 つのモデルを使用できます。次のようにしてください:

draft_list = Post.objects.filter(isdraft=True).order_by("-posted")
publish_list = Post.objects.filter(isdraft=False).order_by("-posted")
return render_to_response('userside/admin.html',
                 {'draft_list':draft_list,'publish_list':publish_list})
于 2012-08-20T23:49:05.633 に答える