相关疑难解决方法(0)

Django将多个模型传递给一个模板

我正在建立一个地址簿,其中包括条目之间的关系等.我有个人,公司,场地和角色的单独模型.在我的索引页面上,我想列出每个模型的所有实例,然后过滤它们.这样一个人就可以轻松搜索并找到一个条目.我已经能够使用通用视图列出单个模型,并使用get_extra_context来显示另一个模型:

#views.py

 class IndividualListView(ListView):

    context_object_name = "individual_list"
    queryset = Individual.objects.all()
    template_name='contacts/individuals/individual_list.html'


class IndividualDetailView(DetailView):

    context_object_name = 'individual_detail'
    queryset = Individual.objects.all()
    template_name='contacts/individuals/individual_details.html'

    def get_context_data(self, **kwargs):
        context = super(IndividualDetailView, self).get_context_data(**kwargs)
        context['role'] = Role.objects.all()
        return context
Run Code Online (Sandbox Code Playgroud)

我还可以使用自定义视图列出单个模型:

#views.py
def object_list(request, model):
    obj_list = model.objects.all()
    template_name = 'contacts/index.html'
    return render_to_response(template_name, {'object_list': obj_list}) 
Run Code Online (Sandbox Code Playgroud)

以下是这两个测试的urls.py:

(r'^$', views.object_list, {'model' : models.Individual}),

(r'^individuals/$', 
    IndividualListView.as_view(),
        ),
(r'^individuals/(?P<pk>\d+)/$',
    IndividualDetailView.as_view(),

         ),
Run Code Online (Sandbox Code Playgroud)

所以我的问题是"如何修改它以将多个模型传递给模板?" 它甚至可能吗?StackOverflow上的所有类似问题只询问两个模型(可以使用get_extra_context解决).

django templates model views

35
推荐指数
3
解决办法
3万
查看次数

标签 统计

django ×1

model ×1

templates ×1

views ×1