【问题标题】:retrieve multiple values from Dropdown menu in Django从 Django 的下拉菜单中检索多个值
【发布时间】:2017-04-14 02:14:08
【问题描述】:

我的模板中有一个很好地呈现的表单,带有一个下拉菜单和一个保存按钮,当我从下拉菜单中选择一个项目并单击保存时,我将该项的 url 传递给 views.py,如下所示:

<select name="listxblocks">
  {% for scname, desc in scenarios %}
    <option value="{% url "workbench_show_scenario" scname %}">{{desc}}/{{scname}}</option>
  {% endfor %}
</select>

现在,在 views.py 文件中,我可以检索所选项目及其值,

if request.method == "POST": #checks if the request is a POST operation
    url = request.POST['listxblocks'] 

但我还想检索名称 scname 和描述 desc

我尝试使用隐藏字段,但它使我的模板变得混乱,我该怎么做? 谢谢!

【问题讨论】:

    标签: django


    【解决方案1】:

    有两种方法可以从您的选择中检索所有信息。

    1) 从选择中获取所有数据。 在视图中使用以下代码:

    variable = request.POST.getlist('listxblocks')
    

    2) 将“多个”添加到您的选择中,例如

    <select name="listxblocks" multiple="multiple">
          {% for scname, desc in scenarios %}
          <option value="{% url "workbench_show_scenario" scname %}">{{desc}}/{{scname}}</option>
          {% endfor %}
        </select>
    

    在 view.py 中使用

    url = request.POST['listxblocks']
    

    您会找到一个包含所有选定选项的列表

    希望这会有所帮助:)

    【讨论】:

    • 感谢您的回答,但是我认为您误解了我的问题。我不想从下拉菜单中选择多个项目(我猜标题是错误的),我只想选择一个项目并检索有关它的多个信息,在我的模板中我指定了 url 作为信息已检索,但我需要另外两个信息才能传递给视图
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 2021-08-31
    • 1970-01-01
    • 2011-07-21
    • 2019-05-23
    相关资源
    最近更新 更多