将带有空格的值从html页面传递到视图

时间:2017-02-17 01:44:28

标签: django

我正在使用模型中的值填充下拉框,如下所示(缩写):

<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,})

这大部分都能正常工作。我从下拉列表中选择一个值,它返回与所选值相关的所有数据。但是,当值中包含空格时,空格后面的任何字符都将丢失。我不知道如何解决这个问题。

如果有人能指出我正确的方向,那将非常感激

1 个答案:

答案 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>