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'),
]
Эти предложения сработали. Спасибо всем за помощь