在之前的文章中我们介绍了如何在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数据库的更多相关文章

  1. Python教程:ORM连接Sqlite数据库,软件架构基础

    python语言因其语法简单易学习,且高效率应用广,近几年来发展迅猛,一度进入编程语言排行榜前六名.为了使程序员能更快的学习Python语言,所以写的此教程.也可以说是对自己学习的总结.但文章尽量会使 ...

  2. python web开发-flask中sqlalchemy的使用

    SqlAlchemy是一个python的ORM框架. 在flask中有一个flask-sqlalchemy的扩展,使用起来很方便. 1.       创建一个sqlalchemy的Model模块 创建 ...

  3. python web开发-flask访问请求数据request

    Request对象在web应用的开发中是一个非常重要的对象,主要用来获取用户发来的请求数据. 常用属性参考:http://docs.jinkan.org/docs/flask/api.html#fla ...

  4. python web开发-flask中response,cookies,session对象使用详解

    Response响应对象: 当一个web请求被服务器处理完后,会返回用户请求的响应,这时候就要用到响应对象,根据响应给用户的形式不同,响应对象有以下几种处理方式 如果返回的是一个合法的响应对象,它会从 ...

  5. python web开发-flask中日志的使用

    Flask使用日志记录的方式: 初始化flask应用实例 在flask中使用logger,需要初始化一个flask的应用 app = Flask(__name__) 2. 调用logger 直接调用l ...

  6. python web开发-flask调试模式

    使用run()方式可以启动flask应用,但是每次修改代码之后,需要重新启动,这样对于调试就很不太方便.Flask的调试模式可以让代码在每次修改之后自动载入. 有两种方法可以启用flask的调试模式 ...

  7. python web开发-flask中的url带斜线和不带斜线区别详解

    通过flask进行路由配置的时候,有一个细节,就是同样的url,带上"/"和不带"/"有什么区别. 举例说明: 比如有个url,名字为"/url&qu ...

  8. python web开发-flask读取txt文件内容

    某些情况下,需要读取flask网站要目录下的txt文件.但是直接在flask网站的目录下创建一个文件是无法访问的.从网站找了一些资料,最终发现通过写一个方法返回txt内容比较简单方便,不过此方法适用于 ...

  9. python web开发-flask中消息闪现flash的应用

    Flash中的消息闪现,在官方的解释是用来给用户做出反馈.不过实际上这个功能只是一个记录消息的方法,在某一个请求中记录消息,在下一个请求中获取消息,然后做相应的处理,也就是说flask只存在于两个相邻 ...

随机推荐

  1. raw文件系统

    简介 RAW文件系统是一个没有被NT文件系统(FAT或NTFS)格式化的磁盘分区(win8默认用的是RAW文件系统). 2定义 分区显示RAW文件系统的直接原因,是由于文件系统不被操作系统识别.此时在 ...

  2. mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】

    1.mysql简单的查询:select 字段1,字段2...  from tablename; 如果字段那里写一个*,代表查询所有的字段,等同于指定出所有的字段名,因此如果要查询所有字段的数据,一般都 ...

  3. stm32开发之标准库的介绍

    1 STM32标准外设库概述 STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序.数据结构和宏组成,包括了微控制器所有外设的性能特征.该函数库还包括每一个外设的驱动描 ...

  4. org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'transactionManager'

    1.错误描述 五月 01, 2015 2:12:31 下午 org.hibernate.validator.util.Version <clinit> 信息: Hibernate Vali ...

  5. tcp_wrapper

    介绍 对基于tcp协议开发并提供服务的应用程序,所提供的一层访问控制工具 基于库调用实现其功能 * 库名:libwrap 判断服务是否能够由tcp_wrapper进行访问控制 1. 动态编译 ldd命 ...

  6. freemark标签中输出boolean值

    private boolean showHeader=true; public boolean getShowHeader(){ return this.showHeader; } public bo ...

  7. Git Compare with base,比较大文件时,长时间等待,无法加载

    问题 当使用Git比较一个大文件(几十兆数量级)版本见差异时,会一直等待加载,且内存消耗很大,导致其他进程很难执行.任务管理器中,可以看到此时的TortoiseGitMerge吃掉3G左右的内存. 原 ...

  8. JVM内存分析

    1.java内存模型分析 java虚拟机运行时数据存储区域包括线程隔离和线程共享两类,整个PC的内存图如下所示: 下面对以上内存区域说明: 1.1 register和cache 当代计算机一般有多个c ...

  9. SQL Server 扩展事件

    SQL Server 扩展事件(Extended Event)是用于服务器的常规事件处理系统,是追踪SQL Server系统运行状态的神器,同时也是一个日志记录工具,扩展事件完全可以取代SQL追踪(S ...

  10. Java高并发之从零到放弃

    前言 本篇主要讲解如何去优化锁机制或者克服多线程因为锁可导致性能下降的问题 ThreadLocal线程变量 有这样一个场景,前面是一大桶水,10个人去喝水,为了保证线程安全,我们要在杯子上加锁导致大家 ...