Как обеспечить путь для urlpatterns в Django3? - PullRequest
1 голос
/ 19 января 2020

Я пытаюсь выучить django, но инструктор использует django 1.XX. До сих пор я смог обновить материал до Django 3.XX, чтобы он заработал. Но я застрял сейчас.

В частности, в приведенном ниже коде urlpatterns:

urlpatterns = [
    path('',views.SchoolListView.as_view(),name='list'),
    path('<int:pk>/',views.SchoolDetailView.as_view(),name='detail')
]

Первый путь работает. Второй нет. Когда я нажимаю на ссылку, ничего не происходит. Нет кода ошибки, ничего. Я думаю, что есть проблема с синтаксисом? Отличается ли он для Django3?

Я проверил документацию и не нашел ничего плохого.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 26 января 2020

Второй шаблон является частью djangos generi c view. Generi c просматривает абстрактные общие шаблоны до такой степени, что вам даже не нужно писать Python код для написания приложения.

path('<int:pk>/',views.SchoolDetailView.as_view(),name='detail')

Здесь pk представляет первичный ключ. Проверьте, есть ли у вас данные с первичным ключом, который вы даете в базе данных.

В качестве альтернативы, если вы не хотите использовать метод generi c, вы можете использовать этот

path('<int:school_id>/‘, views. SchoolListView, name='schoollist')

, где school_id (это может быть другое имя в зависимости от вашей модели, проверьте его в db) должен быть первичным ключом в базе данных, созданной django.

0 голосов
/ 25 января 2020

Например:

path ('',views.index , name='index')

Для вашего кода:

path('',views.SchoolListView,name='list')
...