【问题标题】:Do not resubmit forms in Django wizard end不要在 Django 向导结束时重新提交表单
【发布时间】:2013-06-25 23:00:20
【问题描述】:

我已经用SessionWizardView 实现了向导,并且我正在对每一步进行一些后端验证和其他方法调用(例如,在表单initclean 方法或process_step 内部)。所以实际上我不需要在向导结束时提交所有表单并保存所有步骤的数据。我只需要在最后一步之后被重定向到主页。最好的方法是什么?覆盖 render_done() 之类的东西?有什么建议吗?

【问题讨论】:

  • 为什么不直接实现done(self, form_list, **kwargs)

标签: django forms django-formwizard


【解决方案1】:

看起来重写 render_done() 方法效果很好。但我的问题完全是关于验证。我有验证器正在检查用户是否存在的字段。如果没有 - 他是在那一步创建的。所以重新验证在这里总是会失败:)。删除此代码:

if not form_obj.is_valid():
    return self.render_revalidation_failure(form_key, form_obj, **kwargs)

解决了向导结束时的重新验证问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 2020-07-14
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    相关资源
    最近更新 更多