我有一个带有下拉列表的表单:
CATEGORY_CHOICES= [
('sport', 'Sport'),
('mini', 'Mini'),
('economy', 'Economy'),
('electro', 'Electro'),
('business', 'Business'),
]
class CategoryChoice(forms.Form):
category= forms.CharField(label='Поиск по категории:', widget=forms.Select(choices=CATEGORY_CHOICES, ), required = False)
URLS.PY
urlpatterns = [
path("productsHTML/<str:uuid>", productHTML, name = "productHTML"),
path("productsHTML/", productsHTML, name = "productsHTML"),
]
VIEWS.PY
def productsHTML(request):
all_products = {"products": Product.objects.all()}
return render(request, "products.html",all_products)
def productHTML(request, uuid):
product = Product.objects.get(id = uuid)
img = product.category
slovar = {"product": product, "img": img.image}
return render(request, "product.html", slovar)
我需要当选择一个类别,并按下“搜索”按钮,用户将被重定向到与所选类别的商品页面?
我不知道如何把html模板和view.pyurls.py链接在一起,你能帮我一下吗?我会很感激的。
1条答案
按热度按时间lnxxn5zx1#
我需要看到你的views.py和urls.py文件,才能给予适合你的特定用例的答案,但假设你遵循了标准的Django约定,我猜你的代码应该是这样的:
视图.py文件
网址.py文件
**TL;DR:**确保从表单中捕获“category”值,然后将其转换为在url配置中设置为“name”的任何格式,并基于此使用redirect函数。最佳实践是保持小写,因此我使用了.lower()方法。