处理完POST请求后跳转 - yann学长的运维开发指南32

in #devops8 years ago

说明

目前的进度及后续的课程
http://www.iamyann.com/images/0522/20180522181936.png
(html comment removed: more)

介绍

上节介绍了如何测试数据库里数据的条数及如何识别空的提交内容.
提示一下,目前的环境里每次测试是现插数据到数据库的,用完就清理掉了,请注意

今天的具体内容如下:

  • POST请求后需要重定向
  • 清理视图函数
  • 分割测试内容
  • 在模板中渲染多条记录
  • 模板遍历列表

POST请求后需要重定向

处理完POST请求后是需要重定向的,先试一下重定向到首页,修改测试文件

vi lists/tests.py

http://www.iamyann.com/images/0522/20180522171835.png

测试断言状态码302和路径'/'

清理视图函数

运行测试报错,200 != 302

目标达到,调整视图

lists/views.py

http://www.iamyann.com/images/0522/20180522172233.png

新增了重定向部分,测试通过

分割测试内容

习惯上,一段测试代码只测一个内容,这样可以避免前面断言的失败影响后面的测试
修改下现有的测试

vi lists/tests.py

http://www.iamyann.com/images/0522/20180522173040.png

在模板中渲染多条记录

这个是之前的需求之一,不能总显示一条记录
继续新建测试

lists/tests.py

http://www.iamyann.com/images/0517/20180522173742.png
内容很简单,插入两条记录,期望显示2条

模板遍历列表

意料之内的失败

AssertionError: 'itemey 1' not found in '<html>\n    <head>\n [...]'

更新home模板

lists/templates/home.html

http://www.iamyann.com/images/0522/20180522181431.png

只更新模板,还不足以让测试通过,所以这里只是熟悉一下 %for in%的语法

下一节会解决剩下的问题,同时迁移创建数据库

预告

写了30篇小短文后,回头看看自己的公众号,感觉不是很连续
后续要整理下,每完成一个大的章节,就做一个大纲并附上链接,方便读者阅读

http://hero.iamyann.com/blog_webchat.jpg