Текущий путь, 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'')
Вернуться на верх