0

我试图在表单提交并保存到服务器之前向用户显示表单的摘要。

我在该表单上index.html和该表单内有一个表单,我有这个输入按钮:

<input type="submit" value="Show summary" name="summary"/>

summary.html页面上,我在一个虚拟表单中有另一个输入按钮。我使用这个输入按钮来保存表单数据。

<input type="submit" value="Save to DB" name="save_db" />

以下是我的方法的代码片段views

def index(request):
    form = JobForm(request.POST or None)
    if request.method == 'POST':
        if  form.is_valid():
            return summary(request)

    return render_to_response('index.html', {'form': form}, context_instance=RequestContext(request))

def summary(request):
    if request.method == 'POST':
        save_to_db(request) # The problem here is that this is a new request. I lost the previous request with all the data
        return render_to_response('thanks.html', context_instance=RequestContext(request))
    xml = getxml(request) # form data is serialized
    return render_to_response('summary.html', {'xml': xml}, context_instance=RequestContext(request))

从上面,我可以得到表单数据的摘要。但是,正如内联评论所暗示的那样,当我单击“保存到数据库”提交按钮时,先前包含所有表单数据的请求都将丢失。

我已经调查过了Sessions,我找不到执行上述操作的正确方法。我还尝试将request作为参数传递给摘要页面。但是,我认为这不是正确的做法。

我会很感激你的意见!

谢谢。

4

1 回答 1

0

您是否尝试过 Django表单预览?似乎这正是您正在寻找的:

Django 带有一个可选的“表单预览”应用程序,它有助于自动化以下工作流程:“显示 HTML 表单,强制预览,然后对提交进行操作。” 要强制预览表单提交,您所要做的就是编写一个简短的 Python 类。

干杯!

于 2013-09-13T02:24:31.953 回答