Ошибка NoReverseMatch в django. как ее исправить
Я работал над добавлением в избранное в моем магазине. но я получил ошибку, когда я попытался связать страницу избранного. ошибка следующая: Reverse for 'favorite' with arguments '('',)' not found. Проверено 1 шаблон(ы): ['favorite/(?P[\w-]+)/$']
urls.py
re_path(r'^favorite/(?P<slug>[\w-]+)/$' , views.favorite_products , name='favorite')
views.py
def detail(request , slug=None):
products = get_object_or_404(product , slug=slug)
Product = product.objects.get(slug = slug)
images = Image.objects.filter(pr = products)
cart_form = CartForm()
comment_form = Commentform()
com = comment.objects.filter(Product = products , is_okay = True)
similar = products.tags.similar_objects()[:5]
is_like =False
is_f = False
if products.like.filter(id = request.user.id ).exists():
is_like = True
if Product.favorite.filter(id = request.user.id).exists():
is_f = True
return render (request , 'temp/detail.html' , {'product' : products , 'similar' : similar , 'is_like' : is_like , 'comment_form' : comment_form , 'com' : com , 'images' : images , 'cart_form' : cart_form , 'is_f' : is_f})
also
def favorite_products(request , slug):
url = request.META.get('HTTP_REFERER')
Product = product.objects.get(slug = slug)
is_f = False
if Product.favorite.filter(id = request.user.id).exists():
Product.favorite.remove(request.user)
is_f = False
else:
Product.favorite.add(request.user)
is_f = True
return redirect(url)
detail.html
{% if request.user.is_authenticated %}
{% if is_f == True %}
<a href="{% url 'home:favorite' prodcut.slug %}">remove favorite</a>
{% else %}
<a href="{% url 'home:favorite' prodcut.slug %}">favorite</a>
{% endif %}
{% endif %}