1
私が取り組んでいるDjangoプロジェクトは、患者の詳細をリストし、ユーザーが詳細を編集できるようにします。私はそれをリストすることができましたが、views.py
はリストを更新するためのURLにリンクされていません。Django編集モデルインスタンス
views.py:
def update_patient(request, patient_id):
patient = Patient.objects.get(id=patient_id)
if request.method != 'POST':
form = PatientForm(instance=patient)
else:
# POST data submitted; process data.
form = PatientForm(instance=patient, data=request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect(reverse('patient:patient',
args=[patient.id]))
context = { 'patient': patient, 'form': form}
return render(request, 'patient/update_patient.html', context)
models.py:
class Patient(models.Model):
patientID = models.CharField(max_length=20)
firstName =models.CharField(max_length=20)
lastName = models.CharField(max_length=20)
age = models.IntegerField(max_length=None)
SSN = models.CharField(max_length=15)
address = models.CharField(max_length=200)
date_added = models.DateTimeField(auto_now_add=True)
urls.py:
url(r'^patients/(?P<patient_id>\update\d+)/$', views.update_patient, name='update'),
update_patient.html:
{% extends "patient/base.html" %} {% block content %}
<p><a href="{% url 'patient:patient' patient.id %}">{{ patient }}</a>
</p>
<p>Update Patient:</p>
<form action="{% url 'patient:update' patient.id %}" method='post'>
{% csrf_token %} {{ form.as_p }}
<button name='submit'>add entry</button>
</form>
{% endblock content %}
は、(R」は、このURLを試してみてください^ patients /(?P [0-9] +)/ updated $ '、views.update_patient、name =' update ')、 –
Vaibhav
ありがとうございます。 URLを修正しました。ブラウザのアップデートの詳細にアクセスできません。 – Kate
どのようなエラーが表示されていますか? – Vaibhav