मैं generic views के बारे में कुछ ट्यूटोरियल और किताबें पढ़ रहा था।जो Django में उपयोग करना है: ListView या list_detail?
part 4 of the official tutorial में, वे इस
from django.conf.urls import patterns, include, url
from django.views.generic import DetailView, ListView
from polls.models import Poll
urlpatterns = patterns('',
url(r'^$',
ListView.as_view(
queryset=Poll.objects.order_by('-pub_date')[:5],
context_object_name='latest_poll_list',
template_name='polls/index.html')),
url(r'^(?P<pk>\d+)/$',
DetailView.as_view(
model=Poll,
template_name='polls/detail.html')),
url(r'^(?P<pk>\d+)/results/$',
DetailView.as_view(
model=Poll,
template_name='polls/results.html'),
name='poll_results'),
url(r'^(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
)
मैं भी The Definitive Guide to Django: Web Development Done Right, Second Edition पढ रहा हूं जैसे एक उदाहरण लिखा था और जब वे सामान्य विचारों के बारे में बात, वे इस
from django.conf.urls.defaults import *
from django.views.generic import list_detail
from mysite.books.models import Publisher
publisher_info = {
'queryset': Publisher.objects.all(),
'template_name': 'publisher_list_page.html',
}
urlpatterns = patterns('',
(r'^publishers/$', list_detail.object_list, publisher_info)
)
की तरह उनके उदाहरण लिखा था मैं होना चाहिए ListView
या list_detail
का उपयोग कर? वे दोनों django.views.generic
से आते हैं। यदि वे दोनों का उपयोग किया जा सकता है, तो अंतर क्या है (लाभ और हानिकारक तुलना)?
यदि यह मदद करता है, तो मैं अपना उद्देश्य समझाऊंगा: मेरी परियोजना में, मैं कार्य आदेशों को सूचीबद्ध करना चाहता हूं, और फिर मैं प्रत्येक कार्य आदेश का एक विस्तृत दृश्य चाहता हूं जिसमें उस आदेश के लिए टिप्पणियों की एक सूची भी शामिल होगी (प्रति ब्लॉग पोस्ट टिप्पणियों के समान)।
मैं कक्षा आधारित जेनेरिक व्यू दस्तावेज़ों को वास्तव में समझ नहीं पा रहा हूं। उदाहरण के लिए, ['ListView'] के लिए (https://docs.djangoproject.com/en/dev/ref/class-based-views/#list-views), प्रविष्टि इतनी छोटी क्यों है? मुझे सभी विधियों और चरों की सूची कहां मिल सकती है? – hobbes3
दुर्भाग्यवश, यह Django के हिस्से (आंशिक रूप से एकाधिक विरासत के कारण) पर खराब दस्तावेज़ का हिस्सा है। लेकिन आप देख सकते हैं कि वे क्या उपclass: उदा। - https://docs.djangoproject.com/en/dev/ref/class-based-views/#django.views.generic.list.MultipleObjectMixin – Jeff