《Head First Python》 第九章——如何将sqlite数据库集成到web应用中
2017-02-14 16:01
288 查看
方法1:重写athletemodel.py中的代码来使用这个数据库,无需改变API。通过查询sqlite数据库,获得所需数据,把它变成AthleteList对象的字典,然后把字典返回给调用者,调用代码无需做任何改变。
方法2:重写API。
方法1看似简单,但在数据的存储方式已发生根本性改变时,重写API更利于后续功能的增加。
![](https://img-blog.csdn.net/20170214155910148?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdTgyMDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20170214155935993?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdTgyMDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20170214155954774?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdTgyMDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20170214160015212?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdTgyMDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
为了更好的与上一章进行对比,本章重建了文件夹webapp_ch9,运行时应先定位到该文件夹再执行simple_httpd.py文件。如下图所示:
![](https://img-blog.csdn.net/20170214160031919?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdTgyMDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20170214160050560?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdTgyMDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
方法2:重写API。
方法1看似简单,但在数据的存储方式已发生根本性改变时,重写API更利于后续功能的增加。
1 重写API
1.1 获取名字列表:get_names_from_store()
1.2 获取名字和id列表:get_namesID_from_store()
选手的名字可以不唯一,但id却是唯一的,所以经常需要用到id。1.3 根据id获得选手的详细信息:get_athlete_from_id()
2 修改CGI脚本
注意新的模型代码可以提供返回选手名列表或AthleteList的功能。因此,需要对generate_list.py和generate_timing_data.py进行修改。如下图所示:3 调试
3.1 打开服务器
关于服务器的位置为了更好的与上一章进行对比,本章重建了文件夹webapp_ch9,运行时应先定位到该文件夹再执行simple_httpd.py文件。如下图所示:
3.2 打开浏览器查看
相关文章推荐
- CGI-Web服务器接收并显示数据 《Head First Python》第九章
- 《Head First Python》 第九章 ——sqlite数据库路径的配置问题
- 《Head First Python》笔记 第八章 移动应用开发
- 如何部署Python Web应用:记录一次Heroku部署完整过程 推荐
- 【Head First Servlets and JSP】笔记 27: web 应用安全
- 《Head First Python》笔记 第九章 管理你的数据
- 数据存储:从pickle到sqlite 《Head First Python》第九章
- 如何在web编程中应用python
- Eclipse Java EE IDE for Web Developers集成的Maven 3 如何应用?
- 《head first python》——web开发
- Python下CGIweb服务器实现(CGIHTTPServer) 《Head First Python》第七章
- 如何部署Python Web应用:记录一次Heroku部署完整过程
- Head First Servlets&Jsp 读书摘记1——【Web应用体系结构 & 迷你MVC】
- Head First Python(如何向PYPI发布你的代码)学习笔记
- 《Head First Servlets & JSP》-11-Web应用部署
- 《Head First Python》 第七章 Web开发之——数据建模 (电子书247-250)
- 【Head First Servlets and JSP】笔记 26: web 应用部署
- 《Head First Python》Chapter7 Web开发 源代码出错解决方法
- 如何部署Python Web应用:记录一次Heroku部署完整过程
- Head First Python(移动应用开发)