Django перенаправление на неправильный просмотр - PullRequest
0 голосов
/ 08 мая 2020

У меня есть приложение под названием «vocab», которое пока содержит CreateView и ListView. В моем файле проекта urls.py у меня есть следующее:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',views.HomePage.as_view(),name='home'),
    re_path(r"^accounts/", include("accounts.urls", namespace="accounts")),
    re_path(r"^accounts/", include("django.contrib.auth.urls")),
    re_path(r"^logout/$", views.LogOutPage.as_view(), name="logout"),
    re_path(r"^vocab/", include("vocab.urls", namespace="vocab")),
]

И затем, в моем файле urls.py приложения, у меня есть следующее:

urlpatterns = [
    path('list/', views.WordList.as_view(), name="list"),
    path("home/",views.VocabHome.as_view(),name='home'),
    path("create/", views.CreateWord.as_view(), name="create"),
]

И в моем html шаблонов У меня есть ссылки на эти представления. Представления «Домой» и «Список» работают, но когда я нажимаю ссылку «создать», вместо этого появляется «список». В командной строке я вижу, что он обращается к / vocab / list /? вместо / vocab / create /. Я знаю, что представление создания работает, потому что, если я введу его вручную, он попадет туда. И если я удалю все остальные представления, это тоже будет работать. Получается, что django не может найти представление «создать», когда есть другие. Я изо всех сил старался решить эту проблему, убедившись, что все пути уникальны, и я пробовал использовать регулярные выражения, но это все равно не работает. Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 08 мая 2020

Я обнаружил ошибку ...

У меня отсутствовал закрывающий тег формы в моем html. Это привело к тому, что моя вторая форма (и, следовательно, ссылка) стала недействительной.

...