绕过Django表单新实例的验证

0 投票
1 回答
1012 浏览
提问于 2025-04-15 22:18

我遇到了一种情况,我们想在注册的第二页自动填写一些表单数据。我在想有没有办法在只传递几个字段的情况下,跳过整个表单的验证。

我们有这样的代码:

form = NewForm(request.POST)

在这里,request.POST 只包含 NewForm() 中的一部分字段。所以页面加载后,会反馈说有些字段还没有填写。

这一切都是在第二页的 GET 请求中发生的。

有没有办法做到类似这样的事情...

form = NewForm(request.POST, validate=False) 

1 个回答

6

如果你要传入初始值,应该使用 initial 这个参数,而不是 data(也就是第一个位置参数)。这样做不会触发验证。

form = NewForm(initial=dict_of_field_values)

撰写回答