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 сделает вашу форму пустой, попробуйте еще раз после его удаления.