0

我有一个带有表单的 Django 页面。我有一些视图代码可以正常处理表单,但如果可用,则使用来自用户会话的初始数据预填充表单。这样当用户返回此表单时,他们会看到之前选择的选项(是的,表单非常广泛)。

我的观点,py:

def myView(request):   
    ...
    form = ProjectInfoForm(request.POST or None)
    if form.is_valid():
        # process form, including a redirect
        ...

    # if there is form data in the session, let's use that
    # to initaliaze our from with data
    if key in request.session:
        form = ProjectInfoForm(
            initial={
                 'model': request.session.get('model'),
                 ...
            }
        )
    return render_to_response(template_name, {
        ...
    }, RequestContext(request))

问题是:如果我加载会话数据,那么页面不会显示任何错误消息。表单确实没有通过验证,我只是没有得到任何输出。这里有什么冲突initial吗?

任何帮助将非常感激。

4

1 回答 1

1

好吧,从那个片段中,如果找到了会话数据,那么您将完全重新初始化表单:包含 POST 数据和任何错误的原始、经过验证的实例现在已经被处理掉了。if据推测,如果请求不是 POST ,您可能只想输入那一秒。

于 2013-01-10T21:10:24.393 回答