Задать вопрос
@Peterson_s

Как Url-шаблон передать в DetailView?

Всем привет. Я только начал учить Джанго и у меня есть вопрос.
Вот urls.py
urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^books/$', views.BookListView.as_view(), name='books'),
    url(r'^book/(?P<pk>\d+)$', views.BookDetailView.as_view(), ),
    url(r'^authors/$', views.AuthorListView.as_view(), name='authors'),
    url(r'^author/(?P<pk>\d+)$', views.AuthorDetailView.as_view(), name='author-detail')
]


вот views.py
class BookListView(generic.ListView):
    model = Book
    paginate_by = 10

   

class BookDetailView(generic.DetailView):
    model = Book
    

class AuthorListView(generic.ListView):
    model = Author
    


class AuthorDetailView(generic.DetailView):
    model = Author

как мне pk передать в views.py используя DetailView&
  • Вопрос задан
  • 204 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
syschel
@syschel
freelance/python/django/backend
как мне pk передать в views.py используя DetailView&

Оно само ловит pk/id, передавать не нужно, главное эту переменную указать в адресе.

django 3+

У вас кажется древняя документация по джанге, сейчас так урлы не строят.
Правильнее было бы так:
urlpatterns = [
    path('', views.index, name='index'),
    path('books/', views.BookListView.as_view(), name='books'),
    path('book/<int:pk>/', views.BookDetailView.as_view(), ),
    path('authors/', views.AuthorListView.as_view(), name='authors'),
    path('author/<int:pk>/', views.AuthorDetailView.as_view(), name='author-detail')
]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы