Django 重定向到错误的视图

Django redirecting to wrong view

我有一个名为 '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 模板中,我有 link 这些视图。主页和列表视图有效,但是当我单击 'create' link 时,它会将我转到 'list'。在命令行中我可以看到它正在访问 /vocab/list/?而不是 /vocab/create/。我知道创建视图有效,因为如果我手动输入它,它就会出现。如果我删除所有其他视图,它也会起作用。所以就好像 django 在有其他视图时找不到 'create' 视图。我已经尽力通过确保所有路径都是唯一的来解决这个问题,并且我已经尝试使用正则表达式,但它仍然不起作用。任何帮助将不胜感激!

我发现了错误...

我的 html 中缺少表单结束标记。这导致我的第二个表格(因此 link)无效。