首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用下拉列表筛选项目

使用下拉列表筛选项目
EN

Stack Overflow用户
提问于 2019-05-15 02:43:24
回答 1查看 37关注 0票数 0

要使用下拉菜单过滤功能(产品)。每个特征(产品)都有一个标签(例如食物,饮料,随机)。想法是,当用户选择菜单上的标签时,它只显示那些拥有该标签的项目。到目前为止,我已经走得很远了,但似乎还没有起作用。PyCharm未显示错误,但无法正常工作。我错过了什么?谢谢!

我的models.py

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
<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 %}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-15 03:15:39

尝试更改此设置

列表= Feature.objects.filter(features_filter=features_filter)

代码语言:javascript
复制
listings = Feature.objects.filter(tags=features_filter)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56136674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档