Python Django编辑模型实例
我正在处理的Django项目列出了患者的详细信息,并允许用户编辑详细信息。我已经能够列出它,但是Python Django编辑模型实例,python,django,Python,Django,我正在处理的Django项目列出了患者的详细信息,并允许用户编辑详细信息。我已经能够列出它,但是views.py没有链接到更新列表的url 视图.py: def update_patient(request, patient_id): patient = Patient.objects.get(id=patient_id) if request.method != 'POST': form = PatientForm(instanc
views.py
没有链接到更新列表的url
视图.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)
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)
url(r'^patients/(?P<patient_id>\update\d+)/$', views.update_patient, name='update'),
{% 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 %}
型号.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)
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)
url(r'^patients/(?P<patient_id>\update\d+)/$', views.update_patient, name='update'),
{% 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 %}
url.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)
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)
url(r'^patients/(?P<patient_id>\update\d+)/$', views.update_patient, name='update'),
{% 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 %}
url(r'^patients/(?P\update\d+/$),views.update\u patient,name='update'),
更新_patient.html:
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)
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)
url(r'^patients/(?P<patient_id>\update\d+)/$', views.update_patient, name='update'),
{% 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 %}
{%extends“patient/base.html”%}{%block content%}
更新患者:
{%csrf_令牌%}{{form.as_p}}
添加条目
{%endblock内容%}
您的URL模式错误,您在捕获组中有\update
,不应该是,请将模式更改为:
url(r'^patients/(?P<patient_id>\d+)/update/$', views.update_patient, name='update')
url(r'^patients/(?P\d+)/update/$,views.update\u patient,name='update')
您的URL模式错误,您在捕获组中有\update
,不应该是,请将模式更改为:
url(r'^patients/(?P<patient_id>\d+)/update/$', views.update_patient, name='update')
url(r'^patients/(?P\d+)/update/$,views.update\u patient,name='update')
试试这个url(r'^patients/(?P[0-9]+)/update$,views.update_patient,name='update'),谢谢。已更正url我无法访问浏览器中的更新详细信息您遇到了什么错误?请尝试此url(r'^patients/(?P[0-9]+)/update$',views.update_patient,name='update'),谢谢。更正了url我无法访问浏览器中的更新详细信息您遇到了什么错误?