python web开发-flask连接sqlite数据库
在之前的文章中我们介绍了如何在centOS中安装sqlite数据库。
Sqlite安装完成后,本节就用flask来连接和操作sqlite数据库。
1. 数据准备
先在sqlite3中创建一个数据库mydb,执行sqlite3 mydb
然后执行.databases命令,查看我们创建的数据库
可以看到我们把数据库文件放到了/www/db/mydb文件夹下面
然后我们创建一个user表
使用insert语句 ,写入一条数据到user表中
2. 在code.py中添加获取用户列表的web配置
最后我们需要在code.py中添加一个对外的访问地址,做如下配置
import sqlite3
DATABASE = '/www/db/mydb'
@app.route("/db/users")
def getUsers():
try:
uListStr = ""
sqliteDB = sqlite3.connect(DATABASE)
cur = sqliteDB.execute("select * from
user")
for row in cur.fetchall():
uListStr += str(row[1])+'has the id'+str(row[0])
sqliteDB.close()
return uListStr
except Exception
as err:
return err
3. 部署到服务器
把我们新做的修改,更新到nginx+uwsgi的服务器上,因为sqlite的数据库是在服务器上安装的,部署方法参见之前的文章,部署之后需要reload一下uwsgi服务器,具体方法参见我写的uwsgi reload方法的文章。部署完成后,访问url,效果如下:
python web开发-flask连接sqlite数据库的更多相关文章
- Python教程:ORM连接Sqlite数据库,软件架构基础
python语言因其语法简单易学习,且高效率应用广,近几年来发展迅猛,一度进入编程语言排行榜前六名.为了使程序员能更快的学习Python语言,所以写的此教程.也可以说是对自己学习的总结.但文章尽量会使 ...
- python web开发-flask中sqlalchemy的使用
SqlAlchemy是一个python的ORM框架. 在flask中有一个flask-sqlalchemy的扩展,使用起来很方便. 1. 创建一个sqlalchemy的Model模块 创建 ...
- python web开发-flask访问请求数据request
Request对象在web应用的开发中是一个非常重要的对象,主要用来获取用户发来的请求数据. 常用属性参考:http://docs.jinkan.org/docs/flask/api.html#fla ...
- python web开发-flask中response,cookies,session对象使用详解
Response响应对象: 当一个web请求被服务器处理完后,会返回用户请求的响应,这时候就要用到响应对象,根据响应给用户的形式不同,响应对象有以下几种处理方式 如果返回的是一个合法的响应对象,它会从 ...
- python web开发-flask中日志的使用
Flask使用日志记录的方式: 初始化flask应用实例 在flask中使用logger,需要初始化一个flask的应用 app = Flask(__name__) 2. 调用logger 直接调用l ...
- python web开发-flask调试模式
使用run()方式可以启动flask应用,但是每次修改代码之后,需要重新启动,这样对于调试就很不太方便.Flask的调试模式可以让代码在每次修改之后自动载入. 有两种方法可以启用flask的调试模式 ...
- python web开发-flask中的url带斜线和不带斜线区别详解
通过flask进行路由配置的时候,有一个细节,就是同样的url,带上"/"和不带"/"有什么区别. 举例说明: 比如有个url,名字为"/url&qu ...
- python web开发-flask读取txt文件内容
某些情况下,需要读取flask网站要目录下的txt文件.但是直接在flask网站的目录下创建一个文件是无法访问的.从网站找了一些资料,最终发现通过写一个方法返回txt内容比较简单方便,不过此方法适用于 ...
- python web开发-flask中消息闪现flash的应用
Flash中的消息闪现,在官方的解释是用来给用户做出反馈.不过实际上这个功能只是一个记录消息的方法,在某一个请求中记录消息,在下一个请求中获取消息,然后做相应的处理,也就是说flask只存在于两个相邻 ...
随机推荐
- 用vs2013+velt-0.1.4进行嵌入式开发 进行海思平台 UBOOT 开发
1.1 什么是VELT VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发.利用这个插件 ...
- Deadlock found when trying to get lock; try restarting transaction
1.错误描述 [ERROR:]2015-06-09 16:56:19,481 [抄送失败] org.hibernate.exception.LockAcquisitionException: erro ...
- freemarker自定义标签报错(六)
freemarker自定义标签 1.错误描述 freemarker.core.ParseException: Encountered "\"\u4f60\u597d\uff01\& ...
- Java Web项目缺少jsp、servlet jar包
1.错误描述 Caused by:java.lang.ClassNotFoundException:javax.servlet.jsp.PageContent 2.错误原因 缺少有关的js ...
- Python编程核心内容之二——切片、迭代和列表生成式
Python版本:3.6.2 操作系统:Windows 作者:SmallWZQ 最近太忙啦.很多事情需要自己处理,感觉时间不够用啊~~~~今后,博客更新时间可能会慢下来,哈哈,正所谓"人 ...
- jquery 实现拖动文件上传加进度条
通过对文件的拖动实现文件的上传,主要用到的是HTML5的ondrop事件,上传内容通道FormData传输: //进度条 <div class="parent-dlg" &g ...
- java保留小数点后位数以及输出反转数字
//方法一double b = 8.0/3.0; //与C语言不同,此处8.0和8有所区分 String format = String.format("%.2f,b"); //表 ...
- 【BZOJ1010】【HNOI2008】玩具装箱(斜率优化,动态规划)
[BZOJ1010][HNOI2008]玩具装箱 题面 题目描述 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一 ...
- [BZOJ2326] [HNOI2011] 数学作业 (矩阵乘法)
Description Input Output Sample Input Sample Output HINT Source Solution 递推式长这样:$f[n]=f[n-1]*10^k+n$ ...
- RabbitMQ教程C#版 - Hello World
先决条件 本教程假定RabbitMQ已经安装,并运行在localhost标准端口(5672).如果你使用不同的主机.端口或证书,则需要调整连接设置. 从哪里获得帮助 如果您在阅读本教程时遇到困难,可以 ...