【问题标题】:Django - POST get options from selectDjango - POST 从选择中获取选项
【发布时间】:2017-01-05 03:54:58
【问题描述】:

我有一个看起来像这样的 html 表单。

{% url 'myapp:myapp_submit' as submit %}

<form name='main' method="POST" action={{submit}}> 
{% csrf_token %}
<select class='form-control' size=10 id="test" name='test' multiple>
<option>Test</option>
</select>
<input type="submit"/>
</form>

和 url.py

from . import views

    app_name = 'myapp'
    urlpatterns = [
        url(r'^$', views.myapp, name='myapp'),
        url(r'results/$', views.myapp_submit, name='myapp_submit')
    ]

和views.py

def myapp_submit(request):
    print request.POST

我唯一得到的就是

<QueryDict: {u'csrfmiddlewaretoken'...]}>

如何取回选择标签中的选项?我会在这里使用模型/视图表单,但我正在用 JS 做一些非常疯狂的事情来不断更新可用的选项。

更新

我用过:

request.POST.getlist('test')

但如果我用鼠标突出显示它,它只会返回 ['Test']。我只是想要选择标签下的所有选项。例如。

<select class='form-control' size=10 id="test" name='test' multiple>
<option>Test1</option>
<option>Test2</option>
<option>Test3</option>
<option>Test4</option>
</select>

###Not sure if it's still getlist method
>>request.POST.getlist('test')
['Test','Test2','Test3','Test4']

【问题讨论】:

标签: python django


【解决方案1】:

因为你说你在用 Js 做一些奇怪的事情,你可以先检查一下浏览器的POST 请求以及你发送的参数。

【讨论】:

  • 它不是一个答案。您可以将建议作为评论而不是答案..
【解决方案2】:

尝试更改您的views.py

def myapp_submit(request):
    request.POST.getlist('test[]')

【讨论】:

  • 这看起来不错 - 让我在我的实际选择列表中尝试一下。会回复你的
  • 嗨,这只是返回选择中突出显示的元素。我只想要给定选择列表中的所有选项。
猜你喜欢
  • 2017-01-11
  • 2021-11-04
  • 2021-02-26
  • 2016-08-12
  • 2022-07-16
  • 1970-01-01
  • 2011-03-29
  • 1970-01-01
  • 2017-09-12
相关资源
最近更新 更多