设置动作=“”,形式为酥脆

时间:2015-11-21 20:48:19

标签: python html django django-forms django-crispy-forms

我很享受酥脆的表格但不幸的是我不知道如何强制这个模块呈现<form ... action=""> html标签。

usecase位于创建视图中,在ant编辑视图中也是相同的。在这些视图中,您希望html表单在同一页面中进行POST以执行验证,对吧? (see docs here

我的表格是:

class InvitedPersonModelForm(ModelForm):
    class Meta:
        model = InvitedPerson
        fields = ['email',]

    def __init__(self, *args, **kwargs):
        super(InvitedPersonModelForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.form_id = 'id-invitedpersonForm'
        self.helper.form_class = 'blueForms'
        self.helper.form_method = 'POST'
        self.helper.form_action = ''
        self.helper.add_input(Submit('submit', _('Invite')))

这将呈现一个完全没有动作的表单。 这样:self.helper.form_action = ''将呈现action=""""

我无法执行request.get_full_path(),因为请求未传递给ModelForm。

你有什么建议?

这是我的html代码,这对按下的按钮没有执行任何POST请求:

<form id="id-invitedpersonForm" class="blueForms" method="post">

    <input type='hidden' name='csrfmiddlewaretoken' value='CqcoQFZDSvniyqOXMkdCqHQcDtm8tQMU'/>

    <div id="div_id_email" class="form-group">
        <label for="id_email" class="control-label  requiredField">
            Email<span class="asteriskField">*</span>
        </label>

        <div class="controls ">
            <input class="emailinput form-control" id="id_email" maxlength="254" name="email"
                   type="email"/>
        </div>
    </div>
    <div class="form-group">
        <div class="controls ">
            <input type="submit"
                   name="submit"
                   value="Invite"

                   class="btn btn-primary"
                   id="submit-id-submit"
                    />
        </div>
    </div>
</form>

0 个答案:

没有答案