数据增加与修改对于Django来说,都是通过save()方法来实现的。只是在修改数据的时候,需要获取相关数据条目的id给页面,并将数据传递至修改页面。
1. 在urls.py中增加修改数据的url项:
urls.py:
urlpatterns = [
#...
#修改数据,?P<pk>\d+代表穿过来的id值,且id值一定为数字
url(r'^edit/(?P<table>\w+)/(?P<pk>\d+)/$', echo.views.edit, name='edit'),
]<strong>
</strong>
2. 在views.py中增加edit的函数,大部分与add函数类似,但是需有pk参数(即某行数据的id值)
#修改数据,函数中的pk代表数据的id
def edit(request, table, pk):
if table == 'line':
#这是Django的一个快捷方法,通过pk去line表中取值,如果有值则返回,如果无值则抛出http404的异常
#具体信息可参考https://docs.djangoproject.com/en/1.9/topics/http/shortcuts/
table_ins = get_object_or_404(Line, pk=pk)
#通过instance来将Form的数据做填充
form = LineForm(request.POST or None, instance=table_ins)
sub_title = '修改线路信息'
if table ==