Генерация формы напрямую с результатами запроса - PullRequest
0 голосов
/ 11 мая 2019

Я хочу передать форму и результат запроса в шаблон такого типа при отображении, я получаю форму со значениями из результата запроса. Точно так же, как когда вы изменяете кортеж через страницу администратора django. Как это сделать ? Views.py

def modification_ue(request, code):
     ue_form = UEForms()
     ue      = UE.objects.get(code_ue=code)
     return render(request, 'felyn/modifier.html', {'ue_form': ue_form, 'ue': ue})

1 Ответ

1 голос
/ 11 мая 2019

Экземпляр модели ue может быть передан экземпляру ModelForm, чтобы предварительно заполнить его значениями.

Например,

ue = UE.objects.get(code_ue=code)
ue_form = UEForms(instance=ue)
return render(request, 'felyn/modifier.html', {'ue_form': ue_form, 'ue': ue})

Если UEForms не ModelForm, а подкласс django.forms.Form, вам необходимо связать данные по-другому, передав их в виде словаря.

Например,

from django.forms.models import model_to_dict
#...
ue = UE.objects.get(code_ue=code)
ue_dct = model_to_dict(ue)
ue_form = UEForms(ue_dct)
return render(request, 'felyn/modifier.html', {'ue_form': ue_form, 'ue': ue})

Тем не менее, я рекомендую воспользоваться Django ModelForm или modelform_factory , где требуется минимальная настройка для вашей формы, чтобы связать экземпляр вашей модели с вашей формой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...