Django url 路径重复

Django url path is duplicated

我从新添加的应用程序中得到一个重复的 url 模式:http://127.0.0.1:8000/quote/quote/new/

基本应用程序 urls.py:

urlpatterns = [
path('admin/', admin.site.urls),
path('register/', user_views.register, name='register'),
path('profile/', user_views.profile, name='profile'),
path('login/', auth_views.LoginView.as_view(template_name='users/login.html'), name='login'),
path('logout/', auth_views.LogoutView.as_view(template_name='users/logout.html'), name='logout'),
path('', include('post.urls')),
path('quote/', include('quote.urls')),   

]

新应用urls.py:

urlpatterns = [


    path('quote/new/', QuoteCreateView.as_view(), name='quote-create'),

]

我试过:path('', include('quote.urls')), in base urls.py 但遇到同样的问题。

在您的“基础应用”urls.py中,您有这一行:

path('quote/', include('quote.urls')),.

在 "new app" ("quote app") 中你得到了这一行:

path('quote/new/', QuoteCreateView.as_view(), name='quote-create'),

当您包含 'quote.urls' 时,每个网址都会添加到您在“基本应用”中设置的 quote/ 前缀。如果您希望您的应用创建类似 quote/new 的 URL,那么您应该执行以下操作:

在“基本应用程序”中 urls.py:

path('quote/', include('quote.urls')),

在“新应用”(或“报价应用”)urls.py:

path('new/', QuoteCreateView.as_view(), name='quote-create'),

基本应用程序 urls.py:

urlpatterns = [ path('quote/', include('quote.urls')), ]

新应用urls.py:

urlpatterns = [ path('new/', QuoteCreateView.as_view(), name='quote-create'), ]

删除您应用 url.py 中的“引号/”。您已经在 urls.py 基本应用程序中有了一个前缀。

urlpatterns = [
    path('new/', QuoteCreateView.as_view(), name='quote-create'),
]