【问题标题】:Django drop down is not giving me the full selected nameDjango 下拉菜单没有给我选择的全名
【发布时间】:2020-08-04 15:11:46
【问题描述】:

我有一个下拉菜单,它通过我的模型填充。我可以选择一个然后推送提交。但是我得到的数据被名称中的空格破坏了。因此,如果我的下拉菜单中有一个选项,例如:

Please Pick Me

我只会得到

Please

模板.html

<form action="{% url 'parsed' %}" method="POST">
    {% csrf_token %}
    <div class="form-group">
        <label for="sel1">Select Test:</label>
        <select class="form-control" name="selectedtest" id="sel1">
            {% for test in test %}
                <option value={{ test.name }}>{{ test.name }}</option>
            {% endfor %}
        </select>
    </div>

    <div class="form-group">
        <label>Paste Event JSON</label>
        <textarea class="form-control" name="jsontextarea" rows="20"></textarea>
            <div style="text-align:center">
                </br>
                <input class="btn btn-primary" type="submit" value="Parse">
            </div>
    </div>
</form>

views.py

def parsed(request):
    data = request.POST.get('jsontextarea')
    testname = request.POST.get('selectedtest')
    print(testname)
    context = {
        "json" : data,
        "test" : Test.objects.all(),
        "event" : Event.objects.all(),
        "platform" : Platform.objects.all(),
        "device" : Device.objects.all(),
        "property" : Property.objects.all(),
        "testname" : testname
    }
    return render(request, 'jsonparser/parsed.html', context)

【问题讨论】:

    标签: django django-views


    【解决方案1】:

    尝试替换

    &lt;option value={{ test.name }}&gt;{{ test.name }}&lt;/option&gt;

    &lt;option value="{{ test.name }}"&gt;{{ test.name }}&lt;/option&gt;(注意双引号)

    我的猜测是您的 HTML 变成了 - &lt;option value=Please Pick Me&gt;Please pick me&lt;/option&gt;,在这种情况下,选项的值是“请”。但是,如果您使用双引号,它将变为 &lt;option value="Please Pick Me"&gt;Please pick me&lt;/option&gt; 这就是您想要的

    【讨论】:

    • 有效。谢谢!!
    猜你喜欢
    • 2022-01-20
    • 2014-11-24
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 2019-12-12
    • 2020-04-28
    • 1970-01-01
    相关资源
    最近更新 更多