在我的 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']
我怎样才能得到整个列表?我错过了什么?
对此的任何帮助都会很棒
提前致谢