Django url путь дублируется

Я получаю дублирующий шаблон url из недавно добавленного приложения: http://127.0.0.1:8000/quote/quote/new/

base app 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')), в базе urls.py, но получаю ту же проблему.

В вашем "base app" urls.py есть такая строка:

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

В "new app" ("quote app") у вас есть эта строка:

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

Когда вы включаете 'quote.urls', каждый из URL добавляется к префиксу quote/, который вы установили в "base app". Если вы хотите, чтобы ваше приложение создавало URL-адреса типа quote/new, то вам следует сделать следующее:

в "base app" urls.py:

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

в "new app" (или "quote app") urls.py:

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

base app urls.py:

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

Новое приложение urls.py:

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

удалите "quote/" в url.py вашего приложения. у вас уже есть префикс в urls.py базового приложения.

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

Эти предложения сработали. Спасибо всем за помощь

Вернуться на верх