我正在創建一個讓我們處理表單更新的函數。 在我看來,用戶給出了一個ID,然後腳本將獲得這個ID並顯示相應的表單,並有可能更新數據。使用GET值的Django更新表格
我的功能看起來像:
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
。 我沒有找到辦法做到這一點。 在圖片中,表格已經填滿了,因爲我手動寫了一個id,但是表格應該保留爲空,直到我給出一個值爲q4
非常感謝你,如果你能幫助我!
PS:也許我需要把組成部分裏面query_update if loop
?
你有什麼問題?你有任何錯誤信息? – neverwalkaloner
使用現有的'UpdateView'會更容易.. – Sayse
@neverwalkaloner我無法顯示用戶給出的ID相關表單並修改它 – Deadpool