python – 具有相同名称的Django多个输入字段值

我需要一些帮助.如何使用具有相同名称的多个输入字段值来处理表单?并且只有一次查看,这实际上是基本问题的形式..另一​​个想法我从
https://stackoverflow.com/a/478406/6396981找到了这个方法:

relations = request.POST.getlist('relations')

《python – 具有相同名称的Django多个输入字段值》

我该如何处理?目前我正在用< 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']

最佳答案 如果我理解你,你需要实施多项选择?

然后你可以在你的模板中这样做:

{% for answer in answers %}
    <input type="checkbox" name="answer" id="answer{{ forloop.counter }}" value="{{ answer.id }}">
{% endif %}

安迪在视野中:

answer = request.POST.getlist('answer')
for el in answer:
    pass
点赞