Django как создать заполненную форму объекта обновления?

Я хочу создать форму обновления. Когда пользователь заходит на эту страницу, форма должна быть заполнена информацией, чтобы пользователь мог редактировать то, что он хочет исправить. Я пытался использовать 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 вы перезаписали form пустым объектом SetupForm(). Когда пользователь зайдет на страницу, он выполнит запрос GET, а ваш блок else сделает вашу форму пустой, попробуйте еще раз после его удаления.

Вернуться на верх