Django中输入的初始值不起作用

时间:2019-03-18 19:29:34

标签: python django

我为标题字段定义了一个初始值,但是一旦执行它,它就不会显示错误,并且该初始值也不会显示在我的字段中,我该如何解决呢?谢谢

def form_view(request):
    if request.method == "POST":
        initial_data = {
            'title': 'default title'
        }
        form = ProductForm(request.POST, initial=initial_data)
        if form.is_valid():
            form.save()
            form = ProductForm()
    else:
        form = ProductForm()
    return render(request, "form.html", {"form": form})

1 个答案:

答案 0 :(得分:2)

您将其放置在错误的位置。如果希望它在首次呈现表单时显示,则不应将其放在POST块中-在提交表单 时会调用POST块-而是else块。

if request.method == 'POST':
    form = ProductForm(request.POST)
    ...
else:
    form = ProductForm(initial=initial_data)