python - django Error during template rendering Reverse for 如何更新数据?

查看:487
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆