上一页 1 2 3 4 5 6 ··· 17 下一页
摘要: 前面遗留的问题,首先时功能测试运行结束后的清理;其次是目前我们的待办清单只允许创建一个大家公用的清单。 如何隔离测试,运行功能测试后待办事项一直存在于数据库中,这会影响下一次测试。 运行单元测试时,Django的测试运行程序会自动创建一个全新的测试数据库(和应用真正使用的数据库不同)。 运行每个单元 阅读全文
posted @ 2019-10-18 14:01 Ranxf 阅读(315) 评论(0) 推荐(0) 编辑
摘要: Django生成一个很有帮助的错误信息,大意是说没有正确设置数据库。 你可能会有疑惑,为什么在单元测试一切都运行ok,这是因为Django为单元测试创建了专用的测试数据库——这是Django中Testcase所做的神奇事情之一。 为了设置好真正的数据库,要创建一个数据库,SQlite数据库只是硬盘中 阅读全文
posted @ 2019-10-17 16:03 Ranxf 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 前面提到的问题中在表格中显示多个待办事项 是最后一个容易解决的问题。要编写一个新单元测试,检查模板是否也能显示多个待办事项: lists/tests.py 运行测试和预期一样会失败 Django的模板句法中有一个用于遍历列表的标签,即{% for .. in .. %};可以使用下面的方式使用这个标 阅读全文
posted @ 2019-10-17 15:18 Ranxf 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 处理完POST请求后重定向 代码中new_item_text = ''的写法不怎么样。解决第二个问题时候,顺带把这个问题也解决了。 人们都说处理完post请求后一定要重定向,接下来就实现这个功能吧。修改针对保存POST请求数据的单元测试,不让它渲染包含待办事项的响应,而是重定向到首页。 不需要再拿响 阅读全文
posted @ 2019-10-17 13:56 Ranxf 阅读(1469) 评论(0) 推荐(0) 编辑
摘要: 要修改针对首页中的POST请求的测试。希望视图把新添加的待办事项存入数据库,而不是直接传给响应。 为了测试这个操作,要在现有的测试方法test_can_save_a_post_request中添加3行新代码 代码解析: 1、检查是否把一个新Item对象存入数据库,objects.count()是ob 阅读全文
posted @ 2019-10-17 13:34 Ranxf 阅读(1692) 评论(0) 推荐(0) 编辑
摘要: 在Django中,ORM的任务是模型化数据库。 创建数据库其实是由另一个系统负责的叫做迁移。 迁移的任务是根据你对models.py文件的改动情况,添加或删除表和列。 可以把迁移想象成数据库使用的版本控制系统,后面会看到,把应用部署到线上服务器审计数据库时,迁移十分有用。 现在只需要知道如何创建第一 阅读全文
posted @ 2019-10-17 10:34 Ranxf 阅读(317) 评论(0) 推荐(0) 编辑
摘要: ORM—对象关系映射器,是一个数据抽象层,描述存储在数据库中的表,行和列。处理数据库时,可以使用熟悉的面向对象方式,写出更好的代码。 在ORM的概念中,类对应数据库中的表,属性对应列,类的单个实例表示数据库中的一行数据。 Django对ORM提供了良好的支持,学习ORM的绝佳方法是单元测试中使用她, 阅读全文
posted @ 2019-10-16 17:50 Ranxf 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 从视图的Python代码中把变量传入HTML模板。 模板中使用哪种句法引入Python对象,要使用的符号{{...}},它会以字符串的形式显示对象: 怎么测试视图函数为new_item_text传入的值正确呢?怎么把变量传入模板呢? 可以在单元测试中实际操作一遍找出这两个问题的答案。(前面我们用到了 阅读全文
posted @ 2019-10-16 16:35 Ranxf 阅读(1019) 评论(0) 推荐(0) 编辑
摘要: 之前的代码还没有为表单指定action=属性,因此提交表单默认返回之前渲染的页面,即“/”,这个由视图函数home_page处理。下面修改这个视图函数,让它能处理POST请求。 这意味着要为视图函数home_page编写一个新的单元测试,打开文件 lists/tests.py 在HomePageTe 阅读全文
posted @ 2019-10-15 11:06 Ranxf 阅读(728) 评论(0) 推荐(0) 编辑
摘要: 要获取用户输入的待办事项,发送给服务器,这样才能使用某种方式保存待办事项,然后在显示给用户查看。 上次运行测试指出无法保存用户的输入。现在,要使用HTML post请求。 若想让浏览器发送POST请求,要给<input>元素指定name=属性,然后把他放在<form>标签中,并为<form>标签指定 阅读全文
posted @ 2019-10-15 10:12 Ranxf 阅读(388) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 17 下一页