gpt4 book ai didi

Django 表单向导保存并转到上一步

转载 作者:行者123 更新时间:2023-12-02 04:49:58 26 4
gpt4 key购买 nike

我有一个工作的 django formwizard,当我点击上一个按钮时,它不会验证当前输入。

我试过各种变体

<input name="wizard_goto_step" class="btn btn-primary btn-large" type="submit" value="prev"/>

<button class="btn btn-info btn-large"
name="wizard_goto_step" type="submit" value="{{ wizard.steps.prev }}">
{% trans "prev step" %}
</button>

但这些似乎都没有做我想做的事情。

最佳答案

如果您希望它在返回到前一个表单之前验证并保存当前表单中的数据,您需要重写 SessionWizardView< 子类中的 post() 方法。您要查找的方法是 self.storage.set_step_data()self.storage.set_step_files() 以保存当前表单数据。

一个粗略的例子:

def post(self, *args, **kwargs):                                                                                                                                                                                                                    
go_to_step = self.request.POST.get('wizard_goto_step', None) # get the step name
form = self.get_form(data=self.request.POST, files=self.request.FILES)

current_index = self.get_step_index(self.steps.current)
goto_index = self.get_step_index(go_to_step)

if current_index > goto_index:
if form.is_valid():
self.storage.set_step_data(self.steps.current,
self.process_step(form))
self.storage.set_step_files(self.steps.current,
self.process_step_files(form))
else:
return self.render(form)
return super(NominateFormWizard, self).post(*args, **kwargs)

关于Django 表单向导保存并转到上一步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19039246/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com