Django 如何创建一个填充更新对象的表单?

Django how to create a filled update object form?

我想创建一个更新表单。当用户进入此页面时,表单应填写信息,以便用户可以编辑他们想要修复的内容。我尝试在视图中使用 instance 但没有用。字段仍然是空的。我该怎么做?

views.py

def setup_settings(request):
    user = request.user
    data = get_object_or_404(DashboardData, user=user)
    # print(data) --> DashboardData object (45)
    form = SetupForm(request.POST or None, instance=data)
    if request.method == 'POST':
        if form.is_valid():
            form.save()
    else:
        form = SetupForm()

  context = {
    'form': form,
  }
   return render(request, 'update_setup.html', context)

基本上,在您的 else 块中,您已经用空对象 SetupForm() 覆盖了 form。当用户访问该页面时,它会触发一个 GET 请求,而您的 else 块将使您的表单为空,请在删除它后重试。