0

在我的 html 中,我动态生成具有相同名称的下拉选项

<form action="{% url manageCsv %}" method="post">
    {% csrf_token %}
    <p>
        <input type="hidden" name="doc_id" value="{{ doc_id }}">
        {% for column in file_columns %}
        Column {{ forloop.counter0|add:1 }}
        <select name="columns">
            <option value="blank"></option>
            {% for column_value in file_columns %}
            <option value="{{ column_value }}">{{ column_value }}</option>
            {% endfor %}
        </select>
        {% endfor %}
    </p>
    <p>
        <input type="submit" value="Submit" />
    </p>
</form>

更新: 我的 Views.py :

def manageCsv(request):
    if request.method == 'POST':
        file_id = request.POST['doc_id']
        csvColumns = request.POST['columns']

        print >> sys.stderr, csvColumns['columns']

        return HttpResponseRedirect(reverse('index'))

在我看来,当我打印我的 request.POST 时,我得到了我需要的一切:

 <QueryDict: {u'csrfmiddlewaretoken': [u'lGlxVmiYI9xFb5bV7cJPrP9GR0t0LYTi'], u'doc_id': [u'14'], u'columns': [u'Organisation', u'Sum of products']}>

但我面临的问题是,当我分配时csvColumns = request.POST['columns']csvColumns从列表中打印出来,而不是整个列表 Sum of products[u'Organisation', u'Sum of products']

我怎样才能得到整个列表?我错过了什么?

对此的任何帮助都会很棒

提前致谢

4

1 回答 1

0

尝试按照文档中的说明这样做:

csvColumns = request.POST.getlist('columns',None)

希望这可以帮助!

于 2013-06-10T13:30:05.323 回答