django-一个模板中有2个视图 [英] django - 2 views in one template

查看:172
本文介绍了django-一个模板中有2个视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有2个不同的视图,这些视图正在从db获取过滤数据。而且我必须在一个模板文件(admin.html)中使用这些视图,但是我不能同时在页面上使用多个视图。

i have 2 different views which are getting filtered data from db. and i have to use these views in one template file(admin.html) but i cant use multiple views on a page at same time.

这是我的view1:

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喜欢像这样使用它们:

i d like to use them like :

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

--

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

我想将这两个视图设为一个视图。正确的方法是什么? / p>

i want to make these 2 views 'one view' .what is the correct way?

推荐答案

您不想在1个模板中拥有2个视图(无论如何都不可能),但希望在1个模板中拥有2个模型用于渲染的模板。就是这样:

You do not want to have 2 views in 1 template (which is not possible anyway), but have 2 models available in 1 template for rendering. Just do it like this:

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})

这篇关于django-一个模板中有2个视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆