簡體   English   中英

使用下拉列表過濾項目

[英]Filtering items using drop down list

想使用下拉菜單過濾功能(產品)。 每個特征(產品)都有一個標簽(例如食物,飲料,隨機)。 想法是當用戶在菜單上選擇標簽時,它僅顯示那些具有該標簽的項目。 到目前為止,我走了很遠,但似乎還沒有工作。 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 %}

嘗試改變這個

 listings = Feature.objects.filter(features_filter=features_filter) 

listings = Feature.objects.filter(tags=features_filter)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM