Python 在Django中,如何确保表单在提交后保持其初始值,但由于错误返回到模板?

Python 在Django中,如何确保表单在提交后保持其初始值,但由于错误返回到模板?,python,django,templates,forms,Python,Django,Templates,Forms,假设有人提交了一份表格。 它不传递is_valid(),我将它们返回到模板 如何再次显示表单字段,而不让该人员重新键入其内容 我不喜欢使用{initial:}选项。您可以这样实现视图: def showForm(request): if request.method == "POST": form = MyForm(request.POST) if form.is_valid(): # do stuff on success, li

假设有人提交了一份表格。 它不传递is_valid(),我将它们返回到模板

如何再次显示表单字段,而不让该人员重新键入其内容


我不喜欢使用{initial:}选项。

您可以这样实现视图:

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

这是做这件事的标准方法:用POST数据填写表单。如果有效,则保存并重定向,如果无效,则按原样呈现模板。