【发布时间】:2017-04-08 15:18:45
【问题描述】:
我需要一些帮助。如何处理具有多个输入字段值且名称相同的表单?并且只有一次查看,这实际上是针对基本问题的形式.. 我从https://stackoverflow.com/a/478406/6396981 找到了这个方法的另一个想法:
relations = request.POST.getlist('relations')
我该如何处理这一切?目前我正在使用<input type="radio"...,但是如果它在一次形式中具有相同的名称,它当然无法工作。但是如果我使用:<input type="checkbox"...,答案可以在一次问题中检查超过 1 个...
可能是这样的:
<input type="radio" name="answer-{{ question.id }}">
我怎样才能在视图中显示所有内容?
已解决:
在我的测试中:
{% for question in questions %}
<input type="hidden" name="question" value="{{ question.id }}/>
{% for answer in question.get_answers %}
<input type="radio" name="answer-{{ question.id }}" value={{ answer.score }}>
{% endfor %}
{% endfor %}
views.py
questions = request.POST.getlist('question')
answers = [request.POST['answer-{}'.format(q)] for q in questions]
以及它的结果:
['20', '19', '16', '13', '11', '10', '9', '8', '1']
['5', '2', '3', '4', '1', '4', '4', '2', '2']
【问题讨论】:
-
这个很不清楚。复选框和单选按钮应该具有多个具有相同输入名称的选项。你遇到了什么确切的问题?为什么不使用 Django 表单 API?
-
如果有很多问题,我如何动态处理 Django 表单?