要使用下拉菜单过滤功能(产品)。每个特征(产品)都有一个标签(例如食物,饮料,随机)。想法是,当用户选择菜单上的标签时,它只显示那些拥有该标签的项目。到目前为止,我已经走得很远了,但似乎还没有起作用。PyCharm未显示错误,但无法正常工作。我错过了什么?谢谢!
我的models.py
class Feature(models.Model):
FOOD = 'food'
DRINK = 'drink'
RANDOM = 'random'
TAGS = (
(FOOD, 'food'),
(DRINK, 'drink'),
(RANDOM, 'random')
)
name = models.CharField(max_length=40, default='')
tags = models.CharField(max_length=20, choices=TAGS, default=ALL)
def __str__(self):
return self.name
我的views.py
def tags(request):
if request.GET.get('tags'):
features_filter = request.GET.get('tags')
listings = Feature.objects.filter(features_filter=features_filter)
else:
listings = Feature.objects.all()
context = {'listings': listings}
return render(request, 'index', context)
我的index.html
<form action="{% url 'index' %}" method="get" accept-charset="utf-8">
{% csrf_token %}
<select name="tags">
{% for feat in features %}
<option value="{{feat.tags}}">{{ feat.tags }}</option>
{% endfor %}
</select>
<input type="submit" value="submit">
</form>
{% for feature in features %}
<h1{{ feature.name }}</strong></h1>
{% endfor %}
发布于 2019-05-15 03:15:39
尝试更改此设置
列表= Feature.objects.filter(features_filter=features_filter)
至
listings = Feature.objects.filter(tags=features_filter)
https://stackoverflow.com/questions/56136674
复制相似问题