/ / टेम्प्लेट में एक से अधिक दृश्य पास करना

टेम्पलेट के लिए एक से अधिक दृश्य पासिंग-django, django-मॉडल, django-टेम्पलेट्स, django-विचार, django-वर्ग आधारित-views

मेरे पास एक पृष्ठ है जो एक घटना और दिखाना चाहिएइस कार्यक्रम की प्रस्तुतियाँ। मेरे कोड में वे संबंधित नहीं हैं (मुझे अभी भी इसे ठीक करना है)। मुख पृष्ठ पर, जो घटना और व्याख्यान प्राप्त करता है, दृश्य इस प्रकार है:

views.py

class EventoView(ListView):
model = Evento
template_name = "home.html"
context_object_name = "evento_list"
queryset = Evento.objects.all().order_by("-data")[:1]

class RegistroView(ListView):
model = Registro
template_name = "home.html"
context_object_name = "registro_list"
queryset = Registro.objects.all()

समस्या यह है कि मैं केवल इवेंट ऑब्जेक्ट, पंजीकरण की वस्तु को पारित कर सकता हूं, जो कि अनुक्रमित व्याख्यान दिखाता है, को भी पारित किया जाना चाहिए, हालांकि, केवल url के लिए एक Django दृश्य को स्वीकार करता है।

urls.py

urlpatterns = patterns("",
url(r"^$", EventoView.as_view(), name="home"), #I can"t pass two views
url(r"^cadastro/", CriarRegistroView.as_view(), name="cadastro"),
url(r"^contato/", CriarContatoView.as_view(), name="contato"),
url(r"^sobre/", SobreView.as_view(), name="sobre"),
url(r"^admin/", include(admin.site.urls)),
)

इस समस्या का समाधान किस प्रकार से किया जा सकता है?

धन्यवाद।

उत्तर:

जवाब के लिए 3 № 1

ऐसा लगता है कि आप कर सकते हैं ओवरराइड ListView.get_context_data

class RegistroView(ListView):

model = Evento

def get_context_data(self, **kwargs):
context = super(RegistroListView, self).get_context_data(**kwargs)
context["registros"] = Registro.objects.all()
context["eventos"] = Evento.objects.all().order_by("-data")[:1]
return context

मेरे पास अनुभव नहीं है ListViews इसलिए मैं नहीं जानता कि क्या मैं इसका इस्तेमाल कर रहा हूं क्योंकि इसे इस्तेमाल किया जाना चाहिए या नहीं