Причина, по которой URL-адреса проверяются по одному сверху вниз. Итак, когда у вас есть 3 URL:
urlpatterns = [
path("", views.TopicListView.as_view(), name="topic"),
path("<topic>/", views.PostListView.as_view(), name="post"),
path("create/", views.CreatePostView.as_view(), name="create_post")
]
И попробуйте использовать create/
, это на самом деле соответствует шаблону <topic>/
при передаче строки. Так что я рекомендую поместить его очень вниз:
urlpatterns = [
path("", views.TopicListView.as_view(), name="topic"),
path("create/", views.CreatePostView.as_view(), name="create_post")
path("<topic>/", views.PostListView.as_view(), name="post"),
]
Но также было бы лучше, если бы вы добавили какой-нибудь дополнительный путь к URL, чтобы он не был двойным, как list/<topic>/
.