Django中的两种表单-如何在所有字段都未填充的情况下使表单可提交?

时间:2019-04-11 02:23:11

标签: html django

我在一种视图中有两种形式。我希望能够提交一种表格而无需填写其他表格。我已经弄清楚了如何通过对每个表单执行不同的操作来分别处理表单,但是我正在使用django ModelForms,并且必须填写所有字段才能提交任何表单。

我尝试将字段设置为可选字段,但不适用于我的用途,我需要填写每个表单中的所有字段才能提交。

这是我的HTML:

      <form method="post" action="successfulpost" class="form-inline">
        {% csrf_token %}
        {{applicantform}}
        <input type="submit" class="btn btn-primary" value="View full posting"></input> 
      </div>

我的表单代码:

class ApplicantForm(forms.ModelForm):

    first_name = forms.CharField(widget=forms.TextInput(
        attrs={'class': 'form-control', 'placeholder': 'First name'}), label='')
    last_name = forms.CharField(widget=forms.TextInput(
        attrs={'class': 'form-control', 'placeholder': 'Last name'}), label='')
    referrer = forms.ModelChoiceField(queryset=Referral.objects.all())

    class Meta:
        model = Applicant
        fields = ('first_name', 'last_name', 'referrer')

这是可能做到的吗-使用ModelForms可能无法做到吗?

1 个答案:

答案 0 :(得分:1)

在单独的<form> </form>中呈现两种形式可能会解决您的问题 像

<form method="post" action="successfulpost" class="form-inline">
        {% csrf_token %}
        {{first_form}}
        <input type="submit" class="btn btn-primary" value="View full posting"></input> 
      </div>

<form method="post" action="successfulpost" class="form-inline">
        {% csrf_token %}
        {{second_form}}
        <input type="submit" class="btn btn-primary" value="View full posting"></input> 
      </div>