Django表单-如何使用相同的“名称”属性保存多个输入(类型=无线电)?

时间:2019-05-13 13:03:58

标签: django django-forms

我目前正在使用调查应用程序。 我正在使用Django表单,但是我发现自己遇到以下问题:

如果我只有一个问题,则保存答案没有问题,但是,如果有多个问题,则存在问题,因为模板是通过以下方式呈现的:

{% for question in questions %}

<div class="options">
    <input type="radio" name="answer" id="a{{ forloop.counter }}"  value="A" />
    <label for="a{{ forloop.counter }}">Agree</label>    
</div>
<div class="options">
    <input type="radio" name="answer" id="b{{ forloop.counter }}"  value="D" />
    <label for="b{{ forloop.counter }}">disagree</label>
</div>

例如,如果我呈现5个问题,那么这5个问题的输入将具有相同的属性名称,因此我只能选择一个单选按钮,这在逻辑上是错误的,因为我应该可以选择5个(因为它们是5个问题)。

我可以根据我提到的问题更改每组单选按钮的名称,并且每组单选按钮将具有不同的名称,但是,如果这样做,我将无法保存它们,因为根据我的表格。 py:

class SurveyForm(forms.ModelForm):
    class Meta:
        model = Survey
        fields = ('answer' , )

然后,与答案不同的单选按钮名称将在保存答案时产生错误。

如何保存几个问题的答案?

说明:我想手动而不是使用{{form.as_p}}来渲染表单,因为我将使用自举程序,并且该表单在美学水平上具有某些特殊性。

0 个答案:

没有答案