Я читал некоторые учебники и книги о общих видах .
В части 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<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'),
)
Я также читал Полное руководство по Django: веб-разработка выполнена правильно, второе издание , и когда они говорили об общих представлениях, они написали свой пример, подобный этому
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
. Если они оба могут быть использованы, то в чем разница (сравнение преимуществ и недостатков)?
В случае, если это поможет, я объясню свою цель: в моем проекте я хочу перечислить рабочие задания, а затем я хочу детальный просмотр каждого рабочего задания, который также будет содержать список комментариев для этого заказа (аналогично к комментариям к сообщению в блоге).