Python Django表单向导:如何实现取消按钮

时间:2014-01-31 14:06:22

标签: django django-forms django-formwizard

我正在使用表单向导,并希望实现一个取消按钮,将我带回到我单击链接的页面,该链接将我带到了formwizard。有一种聪明的方法吗?目前我正在添加一个重定向到启动表单向导的链接:

<td><a href="/lecture/add/?redirect={{ request.path }}">create new lecture</a></td>

然后在get_context_data中,我将self.request.GET.get('redirect')添加到上下文中。在我的模板中,我有一个取消按钮,从上下文重定向到链接。但这只适用于步骤1.在所有其他步骤中,信息消失了。那么有谁知道如何解决这个问题?非常感谢帮助!

1 个答案:

答案 0 :(得分:1)

每次提交表单时,您可能希望使用隐藏的输入字段来传输取消操作:

<input type="hidden" name="redirect" value="{{ cancel_action }}" />

然后在视图中阅读:

def get_context_data(self, form, **kwargs):
    # ...
    if self.request.GET.get('redirect'):
        # ...
    elif self.request.POST.get('redirect'):
        context.update({ 'cancel_action' : self.request.POST.get('redirect') })
    # ...
    return context