Django -从循环中生成的html选择选项中获取值

oug3syen  于 2023-06-07  发布在  Go
关注(0)|答案(1)|浏览(173)

我有一个HTML页面,我已经建立了一个循环,以列出一个页面上的乐队名称。我也有一个选择选项框,以便用户可以率乐队,他们已经看到。问题是因为每个选择选项都是在我的循环中生成的,所以我不知道如何访问我的www.example.com文件中的每个评级views.py。请帮助?
HTML代码

{%  for band in  thursday_apex %}
<li> {{ band.band_name }}
    {{  }}
 <select name="thursday_apex">
    <option value="0">Didn't watch</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    </select>
    
</li>
{% endfor %}
sirbozc5

sirbozc51#

你在for循环中对每个迭代的数据使用相同的name属性,来访问每个select元素的value,你需要这样做:
您的html:

{%  for band in  thursday_apex %}
<li> {{ band.band_name }}
 <select name="thursday_apex_{{band.id}}">
    // options
 </select>  
</li>
{% endfor %}

您的views.py:

def function(request):
    thursday_apex = YOUR_BAND_CLASS.objects.all()
    list = []
    if request.method == 'POST':
        for item in thursday_apex:
            select_value = request.POST.get('thursday_apex_' + str(item.id))
            if select_value:
                list.append({item.id: select_value})
    print(list)

现在你有所有的select值在变量list

相关问题