Текущий путь, search/, не соответствует ни одному из этих путей
Я не могу найти источник этой ошибки. все мои маршруты и функции представления работают, кроме этой.
---- urls.py
path('search/', views.search, name='search'),
--- views.py
def search(request):
return HttpResponse('test search page')
даже когда я использую
def search(request):
return render(request, 'store/store.html')
У меня все еще та же ошибка
Я боролся с этой проблемой в течение нескольких дней.
Вот сообщение об ошибке
Страница не найдена (404) Метод запроса: GET URL запроса: http://127.0.0.1:8000/search/
.Используя URLconf, определенный в config.urls, Django попробовал эти URL шаблоны, в таком порядке:
admin/ [name='home'] store/ cart/ ^media/(?P<path>.*)$
Текущий путь, search/, не соответствует ни одному из них.
Вы видите эту ошибку, потому что у вас стоит DEBUG = True в вашем Django файл настроек. Измените это значение на False, и Django отобразит стандартную страницу 404.
вот полный код моего urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.store, name='store'),
path('category/<slug:category_slug>/', views.store, name='products_by_category'),
path('category/<slug:category_slug>/<slug:product_slug>/', views.product_detail, name='product_detail'),
path('search/', views.search, name='search'),
И полный код моего views.py
from django.shortcuts import render, get_object_or_404
from category.models import Category
from .models import Product
from cart.views import _session_id
from cart.models import CartItem, Cart
from django.http import HttpResponse
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
# Create your views here.
def store(request, category_slug=None):
if category_slug != None:
categories = get_object_or_404(Category, slug=category_slug)
products = Product.objects.all().filter(category=categories, is_available=True)
paginator = Paginator(products, 1)
page = request.GET.get('page')
paged_products = paginator.get_page(page)
product_count = products.count()
else:
products = Product.objects.all().filter(is_available=True).order_by('id')
paginator = Paginator(products, 3)
page = request.GET.get('page')
paged_products = paginator.get_page(page)
product_count = products.count()
context = {
# 'products': products,
'products':paged_products,
'product_count': product_count,
}
return render(request, 'store/store.html', context)
def product_detail(request, category_slug, product_slug):
try:
single_product = Product.objects.get(category__slug=category_slug, slug=product_slug)
in_cart = CartItem.objects.filter(cart__cart_id=_session_id(request), product=single_product).exists()
except Exception as e:
raise e
context = {
'single_product': single_product,
'in_cart': in_cart
}
return render(request, 'store/product_detail.html', context)
def search(request):
return HttpResponse('test search page'')