我正在使用模型中的值填充下拉框,如下所示(缩写):
<select name="dropdown">
{% for thing in storedvalues %}
<option value={{ thing.name }}>{{ thing.name }}</option>
{% endfor %}
</select>
<input type="submit" value="Filter" id="bbutton"/>
并在视图中......
def testpage(request):
if request.method == 'POST':
result = request.POST.get('dropdown')
print("hey this is the value: ", result)
selected_result = Song.objects.filter(name=result)
return render(request, 'testpage.html', {'selected_result': selected_result,})
这大部分都能正常工作。我从下拉列表中选择一个值,它返回与所选值相关的所有数据。但是,当值中包含空格时,空格后面的任何字符都将丢失。我不知道如何解决这个问题。
如果有人能指出我正确的方向,那将非常感激
答案 0 :(得分:1)
在值周围加上双引号,否则浏览器会将字段解释为设置为空,如下所示:(是的,我使用“thing.name”作为thing.name的值 - 根本不会混淆)
<option value="" thing.name=""> thing.name</option>
引用它将被解释为:
<option value=" thing.name"> thing.name</option>
所以只需添加两个双引号,你就会变得金色。
<option value="{{thing.name}}">{{ thing.name }}</option>