Я читал учебники и книги по универсальным представлениям.
В части 4 официального руководстваони написали подобный пример
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\d+)/$',
DetailView.as_view(
model=Poll,
template_name='polls/detail.html')),
url(r'^(?P\d+)/results/$',
DetailView.as_view(
model=Poll,
template_name='polls/results.html'),
name='poll_results'),
url(r'^(?P\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
. Если их обоих можно использовать, то в чем разница (сравнение преимуществ и недостатков)?
Если это поможет, я объясню свою цель: в моем проекте я хочу перечислить рабочие задания, а затем мне нужно подробное представление каждого рабочего задания, которое также будет содержать список комментариев для этого заказа (аналогично к комментариям к сообщению в блоге).