Я не могу понять, почему я могу получить доступ к URL с помощью Django
Я пытаюсь получить доступ к URL, заканчивающемуся "basket/", но когда я перехожу на страницу, я получаю ошибку 404, показанную ниже.
Я понимаю, что эта ошибка возникает не из-за того, что Django не может найти шаблон, она как-то связана с моим product_detail
представлением.
Вот мои урлы, связывающие меня с корзиной/
core/urls.py
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
app_name = 'core'
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('main_store.urls', namespace='main_store')),
path('basket/', include('basket.urls', namespace='basket')),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
basket/urls.py
from django.urls import path
from . import views
app_name = 'basket'
urlpatterns = [
path('', views.basket_summary, name='basket_summary')
]
Вот basket/views.py:
from django.shortcuts import render
def basket_summary(request):
return render(request, 'main_store/basket/summary.html')
А вот представление, которое выдает ошибку. main_store/views.py:
def product_detail(request, slug):
product = get_object_or_404(Product, slug=slug, in_stock=True)
return render(request, 'main_store/products/single_product.html', {'product': product})
Если кто-нибудь может пролить свет на то, в чем проблема или что я делаю неправильно, буду очень признателен. Заранее спасибо.
Ваш main_store.urls
имеет поиск по slug и любое слово будет передано этому, вы должны двигаться вверх по url корзины следующим образом
urlpatterns = [
path('admin/', admin.site.urls),
path('basket/', include('basket.urls', namespace='basket')),
path('', include('main_store.urls', namespace='main_store')),
]