django-一个模板中有2个视图 [英] django - 2 views in one template
本文介绍了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屋!
查看全文