Реверс для 'AddCart' не найден. 'AddCart' не является допустимой функцией представления или именем шаблона
Я работаю над своим проектом и не знаю, как возникла эта ошибка
Может ли кто-нибудь увидеть, что я упускаю?
Это мой корневой проект urls.py
from django.contrib import admin
from django.urls import path, include
from .import views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index),
path('onlinePizza/', include('onlinePizza.urls')),
path('cart/', include(('cart.urls'), namespace='cart')),
path('accounts/', include(('accounts.urls'), namespace='accounts')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Это мое приложение корзины urls.py
from django.urls import path
from .import views
from cart.views import AddCart
app_name = 'cart'
urlpatterns = [
path('add_cart/', views.AddCart, name='Cart'),
]
Это мое приложение cart views.py
from django.shortcuts import render, redirect
from cart.models import *
def AddCart(request):
product = request.POST.get('product')
remove = request.POST.get('remove')
cart = request.session.get('cart')
if not cart:
request.session['cart'] = {}
if cart:
quantity=cart.get(product)
if quantity:
if remove:
if quantity<=1:
cart.pop(product)
else:
cart[product]=quantity-1
else:
cart[product]=quantity+1
else:
cart[product]=1
else:
cart={}
cart[product]=1
request.session['cart']=cart
return redirect ('Menu')
Это мой шаблон onlinePizza/pc_menu.html
<form action="{% url 'cart:AddCart' %}" method="POST">{% csrf_token %}
<input hidden type="text" name="product" value="{{i.id}}">
<button class="main-btn cart cart-btn" style="padding: 5px 32px">Add <i class="fa-solid fa-cart-shopping"></i></button>
</form>
Я пытаюсь решить эту проблему, но эта ошибка появляется везде в моем проекте.
Я надеюсь, что любой разработчик ответит на этот вопрос
Тебе это нужно name
:
urlpatterns = [
path('add_cart/', views.AddCart, name='Cart'),
]
и этот генератор ссылок:
{% url 'cart:AddCart' %}
относятся к одному и тому же значению. Таким образом, это должны быть либо 'Cart'
и 'cart:Cart'
, либо 'AddCart'
и 'cart:AddCart'
.