在Django中,如何确保表单提交后因错误返回模板时保持初始值?

2 投票
1 回答
1429 浏览
提问于 2025-04-16 08:03

假设有人提交了一个表单。

这个表单没有通过验证(is_valid()),所以我把他们返回到模板页面。

我该怎么做才能让他们再次看到表单里的内容,而不需要重新输入呢?

我不想使用 { initial: } 这个选项。

1 个回答

3

你可以这样来实现你的视图:

def showForm(request):
    if request.method == "POST":
        form = MyForm(request.POST)
        if form.is_valid():
            # do stuff on success, like redirection
    else:
        form = MyForm()

    return render_to_response(...,
                              {"form" : form})
    # then in the template, use {{ form.as_table }}, for example

撰写回答