说明
目前的进度及后续的课程

(html comment removed: more)
介绍
在上节的内容中,填写的内容是无法保持的,所以本节会介绍ORM,使用其比直接操作数据库方便一点.
今天的具体内容如下:
- 把POST请求的参数存入数据库
- 提交到数据库
- 修改函数返回值
- 不保存空内容的测试
- 更新视图
把POST请求的参数存入数据库
更新上周的测试模块,添加三条语句
vi lists/tests.py

objects.count()是objects.all().count()的简写
对比数据库记录总笔数是不是等于1条
objects.first()第一条记录的对象
再对比对象的text内容是否等于给定值
测试文件也比较长了,回头需要重写一下
提交到数据库
运行测试报错,数据库笔数为0
self.assertEqual(Item.objects.count(), 1)
AssertionError: 0 != 1
调整视图
lists/views.py

写了个不是很完善的home_page函数,通过了测试, 回头需要更新一下
修改函数返回值
通过了单元测试,把返回修改下
vi lists/views.py
return render(request, 'home.html', {
'new_item_text': item.text
})
不用获取了,直接使用对象
不保存空内容的测试
下面开如新的测试,这次的测试起源于一个需求:无内容的提交不要保存
再建一个测试方法
lists/tests.py

检测没有提交时,数据库笔数是否为0
更新视图
测试报错 1 != 0 failure
vi lists/views.py

调整视图文件,测试通过
建了一个新变量,其值是POST请求数据或空字符串
.objects.create是创建新Item对象的简化方式,不需要调用保存方法
预告
写了30篇小短文后,回头看看自己的公众号,感觉不是很连续
后续要整理下,每完成一个大的章节,就做一个大纲并附上链接,方便读者阅读
