python - django Error during template rendering Reverse for 如何更新数据?
本文介绍了python - django Error during template rendering Reverse for 如何更新数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
django 1.9.6
python 3.6
想要修改数据
出现错误
url.py:
from django.conf.urls import url
from my_app import views
urlpatterns = [
url(r'^$', views.get_people, name='get_people'),
url(r'^detail/$', views.detail, name='detail'),
url(r'^delete/(?P<people_id>\d+)$', views.delete, name='delete'),
url(r'^edit/(?P<people_id>\d+)/$', views.edit, name='edit')
]
views:
def edit(request,people_id):
if request.method == 'GET':
people = get_object_or_404(People,pk=people_id)
form = Form(initial={'name': people.name, 'phone': people.phone})
return render(request, 'edit.html', {'form': form})
else:
form = Form(request.POST)
if form.is_valid():
People.objects.filter(pk=people_id).update(**form.cleaned_data)
return HttpResponseRedirect(reverse('detail'))
return render(request, 'edit.html', {'form': form })
html:
<tbody>
{% for people in people_list %}
<tr>
<td>{{ people.name }}</td>
<td>{{ people.phone }}</td>
<td>
<a href="{% url 'delete' people.id %}">删除</a>
<a href="{% url 'edit' people.id %}">修改</a>
</td>
</tr>
{% endfor %}
</tbody>
菜鸟没什么办法,求帮助
解决方案
你应该把edit.html的代码贴出来,里面肯定有某个地方
{% url 'edit' people.id %} people.id没传值
这篇关于python - django Error during template rendering Reverse for 如何更新数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文