Flask - 从Vue MultiSelect元素中获取值

时间:2017-10-27 14:55:24

标签: python flask vue.js

我有一个Vue-multiselect,就像这个例子(不是我的) https://jsfiddle.net/gmsa/04jvjuv3/

我试图获取多选元素中的值并将其发回给我的Flask应用。

HTML

    <form action="" method="POST">
    <multiselect id="multi", name = "multi" :multiple="true" :hide-selected="true" :selected="selected" :options="options" :taggable="false" @update="updateSelected"></multiselect>
    <button type="submit" value="l1" >Load</button>
    </form>

烧瓶

if request.method == 'POST':
    print request.form.getlist('multi')
    #prints an empty list
    print request.form['multi']
    #hits a bad request error

我很长时间以来一直在讨论这个问题 - 为什么我不能从表单元素中获取值?

1 个答案:

答案 0 :(得分:1)

事情是vue-multiselect意味着to be handled using pure javascript。因此,您可以在该问题中使用用户实施的解决方案。

在HTML中:

<input style="display: none;" :value="selected" name="multiselect">

在表单内部,在python中:

request.form.get('multiselect').split(',')

split以防万一选择了多个选项。

顺便说一句,那个小提琴使用了vue和multiselect的旧版本,但那是无关的。