视图函数
在ariticle/views.py中增加修改文章的视图函数article_update():

更新的视图与创建文章非常相似,但又有点小区别:
文章的 id 作为参数传递进来了
用户POST提交表单时没有创建新的文章,而是在之前的文章中修改
redirect函数没有返回文章列表,而是返回到修改后的文章页面去了,因此需要同时把文章的id也打包传递进去,这是url所规定的
GET获取页面时将article对象也传递到模板中去,以便后续的调用
编写模板
模板文件就与创建文章的更像了,不过我们这里还是重新写一遍。
新建templates/article/update.html并写入:

在模板中,分别将文章旧的标题和正文作为初始值,传递了进去,其他就与新建文章的模板完全没区别了。
有读者可能就会问了,既然这两个函数、模板都很相似,能不能合并成一个函数、模板呢?当然是可以的,合并相同功能的函数可以让代码更加简洁漂亮,也便于后期的维护。有兴趣的读者可以自己尝试一下。
URL 和入口
接下来的套路都懂的,配置路由article/urls.py:

在文章详情页面tempaltes/article/detail.html中添加修改文章的入口:

启动服务器,可以看到修改文章的功能就实现了。同样的,如有故障也不要着急,在Debug页面寻找出错的线索,求助网络帮忙解决吧。
网友评论