Django Przekaż wiele modeli do jednego szablonu
Buduję książkę adresową, która zawiera relacje między wpisami itp. Mam osobne modele dla osób, firm, miejsc i ról. Na mojej stronie indeksu chciałbym wymienić wszystkie wystąpienia każdego modelu, a następnie je przefiltrować. Aby osoba mogła łatwo wyszukać i znaleźć wpis. Udało mi się wymienić pojedynczy model używając ogólnych widoków i użyć get_extra_context, aby pokazać jeszcze jeden model:
#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
Mogę również wymienić pojedynczy model, korzystając z widoku niestandardowego:
#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})
Oto urls.py dla obu tych testów:
(r'^Moje pytanie brzmi „Jak zmodyfikować to, aby przekazać więcej niż jeden model do szablonu?” Czy to możliwe? Wszystkie podobne pytania na StackOverflow pytają tylko o dwa modele (które można rozwiązać za pomocą get_extra_context).
, views.object_list, {'model' : models.Individual}),
(r'^individuals/Moje pytanie brzmi „Jak zmodyfikować to, aby przekazać więcej niż jeden model do szablonu?” Czy to możliwe? Wszystkie podobne pytania na StackOverflow pytają tylko o dwa modele (które można rozwiązać za pomocą get_extra_context).
,
IndividualListView.as_view(),
),
(r'^individuals/(?P<pk>\d+)/Moje pytanie brzmi „Jak zmodyfikować to, aby przekazać więcej niż jeden model do szablonu?” Czy to możliwe? Wszystkie podobne pytania na StackOverflow pytają tylko o dwa modele (które można rozwiązać za pomocą get_extra_context).
,
IndividualDetailView.as_view(),
),
Moje pytanie brzmi „Jak zmodyfikować to, aby przekazać więcej niż jeden model do szablonu?” Czy to możliwe? Wszystkie podobne pytania na StackOverflow pytają tylko o dwa modele (które można rozwiązać za pomocą get_extra_context).