Я создаю функцию, которая позволяет обрабатывать формы. На мой взгляд, пользователь дает идентификатор, затем сценарий принимает этот идентификатор и отображает соответствующую форму с возможностью обновления данных.Обновить форму с Django из значения GET
Моя функция выглядит следующим образом:
def Identity_Update(request) :
query_update = request.GET.get('q4')
if query_update :
query_update_list = Identity.objects.filter(id__iexact=query_update)
else :
query_update_list = Identity.objects.none() # == []
template_name = 'edit.html'
############
instance = Identity.objects.get(id = ???) # ID have to be egal to query_update
form = IdentityForm(request.POST or None, instance = instance)
if form.is_valid():
form.save()
return HttpResponseRedirect('accueil')
context = {
"query_update" : query_update,
"query_update_list" : query_update_list,
"form": form,
"instance" : instance
}
return render(request, template_name, context)
Мой шаблон выглядит следующим образом:
<!-- ############################################## -->
<!-- Modifier un formulaire dans la Base de Données -->
<!-- ############################################## -->
<h2 align="center"> Modification des fiches individuelles </align> </h2>
{% block content %}
<h4> ID du formulaire à modifier : </h4>
<form method="GET" action="">{% csrf_token %}
<input type="text" name="q4" placeholder="Entrer un ID" value="{{ request.GET.q4 }}">
<input type="submit" value="Valider l'ID">
</form>
<ul>
Personne concernée :
<br></br>
{% for item in query_update_list %}
<li> {{ item }} </li>
{% endfor %}
</ul>
<br></br>
<h4> Modification du formulaire : </h4>
<form method='POST' action= "" > {% csrf_token %}
{{form.as_ul}}
<input type ="submit" value="Valider" />
</form>
{% endblock %}
Я получаю следующую задачу:
Как я мог взять значение q4
вернулся пользователем и поместите его как id = q4
, Я не нашел способ сделать это. На картинке, форма уже заполнена, потому что я написал вручную идентификатор, но форма должна оставаться пустой, пока я не дам значение q4
Большое спасибо, если вы можете мне помочь!
PS: Может быть, мне нужно поставить форму часть внутри query_update if loop
?
Какие у вас проблемы? У вас есть сообщение об ошибке? – neverwalkaloner
Было бы намного проще использовать существующий 'UpdateView'. – Sayse
@neverwalkaloner Я не могу отобразить связанную форму с идентификатором, указанным пользователем, и изменить ее – Deadpool