【发布时间】:2020-05-12 18:13:10
【问题描述】:
以前,我使用 forms.ModelForm 创建一个 Django 表单,并在 views.py 中使用:
p_form = ProfileUpdateForm(request.POST,
request.FILES,
instance=request.user.profile)
这样,如果表单在提交时无效,它将重新填充用户之前输入的信息。这使用户不必再次输入信息。
我已经改用 forms.Form,因为我不知道如何使用 forms.ModelForm 自定义 Crispy Forms,但现在如果我调用 instance=request.user.profile,我会得到一个错误。
我可以做些什么来重新填充用户之前放置在表单中的信息,这样他们就不必再这样做了?
【问题讨论】:
-
我认为当您使用模型表单时,仅解决脆表单的问题可能更有意义。你能分享一下出了什么问题吗?通常酥脆的表格与
ModelForms 配合得很好,所以我想这是你遇到的一个小问题。 -
你可以使用
initial,但这只会让以后的问题变得更加困难。 -
我修复了我的代码,以便在提交时不会出现问题。我只是想这是一个额外的步骤,以防在提交过程中出现问题。