Почему я получаю ошибку типа «Обратный» для «add_cart» с аргументами » ( «,) » не найден

#django-models

Вопрос:

Мой cart/urls.py код:

 from django.urls import path
from .import views

urlpatterns = [
    
    path('',views.cart, name ='cart'),
    path('add_cart/<int:product.id/',views.add_cart, name ='add_cart'),
    
]
 

add_cart/views.py код:

     def add_cart(request, products_id):
    product= get_object_or_404(product, id = products_id)  #get the product
    try:
        cart = Cart.objects.get(cart_id =_cart_id(request))          #get the cart using the cart_id present to the session
    except Cart.DoesNotExist:
     cart = Cart.objects.create(
        cart_id = _cart_id(request)
        )

     cart.save()

    try:
            cart_item = CartItem.objects.get(product=product, cart=cart)   #combine cart to the product thus to get individual cart
            cart_item.quantity  =1      #cart_item.quantity
            cart_item.save()
    except CartItem.DoesNotExist:
            cart_item = CartItem.objects.create(
                product = product,
                quantity = 1,
                cart = cart,
            )
            cart_item.save()        
    return redirect('cart')
 

store/product_detail.html:

 <a href="{% url "add_cart" product.id  %}" class="btn  btn-primary"> <span 
           class="text">Add to cart</span> <i class="fas fa-shopping-cart"></i>  </a>
 

Когда я ставлю product.id , я получаю ошибку:

 NoReverseMatch at /store/shoes/puma/ 
django.urls.Exception Value: Reverse for 'add_cart' with arguments '('',)' not found. 1 pattern(s) tried: ['cart/add_cart/<int:product\.id/


Ответ №1:

Ваш URL-адрес кажется недействительным. Попробуй:

 path('add_cart/<int:product_id>/', views.add_cart, name='add_cart'),
 

Тогда ваш взгляд product_id исходит из этого:

 def add_cart(request, products_id):
    product = get_object_or_404(product, id=product_id)  #get the product
 

Соответствующие документы можно посмотреть здесь

]

Ответ №1:

Ваш URL-адрес кажется недействительным. Попробуй:


Тогда ваш взгляд product_id исходит из этого:


Соответствующие документы можно посмотреть здесь