Передача переменных из шаблона Django в представления - PullRequest
0 голосов
/ 26 мая 2020

Я создаю фильтр для категорий продуктов и хочу передать имя категории из соответствующего изображения в моем шаблоне. Часть панели фильтра:

 <a href="{% url 'product-filter' MISC%}">
    <img src="{% static 'store/images/skateboard.png' %}" alt="">
 </a>

URL:

path('search/<category>/', store_views.product_filter ,name='product-filter'),

Я хочу, чтобы MIS C из шаблона прошел и стал категорией, чтобы я мог использовать ее в представлениях:

# ? Filter Products by Catagory
def product_filter(request, category):
    products= Product.objects.all()
    filter=ProductFilter(category,queryset=products)
    context={'products':filter}
    return render(request,'store/filter.html',context)

Получение этого сейчас даже на моей домашней странице:

NoReverseMatch at /

Reverse for 'product-filter' with arguments '('',)' not found. 1 pattern(s) tried: ['search/(?P<category>[^/]+)/$']

И это при / search / MIS C:

NoReverseMatch at /search/MISC/

Reverse for 'product-filter' with arguments '('',)' not found. 1 pattern(s) tried: ['search/(?P<category>[^/]+)/$']

1 Ответ

0 голосов
/ 26 мая 2020

Ваш URL-адрес не совпадает. Ваша ошибка находится в категории .

path('search/<category>/', store_views.product_filter, name='product-filter'),

FIX : - Укажите тип данных категорию или любое регулярное выражение. Как:

path('search/<str:category>/', store_views.product_filter, name='product-filter'),
...