Flask - 数据库相关
1. Flask-SQLAlchemy
1.1 参考:
http://flask-sqlalchemy.pocoo.org/2.3/
https://github.com/janetat/flasky/commits/master?after=f0d6546112480b0f728194982e3fa8f9d7f0962f+34, git reset --hard 5b
https://www.cnblogs.com/allen2333/p/9059997.html
注意,任何ORM本身无法操作数据库,所以要在配置文件中配置DB。
1.2 需求
从请求的表单中获取名字。
如果数据库中存在获取后的名字,则在前端输出'Happy to see you again'。如果不在,则添加进数据库,在前端输出'Pleased to meet you'。
另外,这个从请求中的表单中获取的名字,不管怎样,也存入session中。下一次请求到来时,从session取出这个名字,在前端输出。
1.3 实现
完整示例:
https://github.com/janetat/flasky/commits/master?after=f0d6546112480b0f728194982e3fa8f9d7f0962f+34, git reset --hard 5b
粗略解说:
选用sqlite作为本地数据库。在Flask配置文件配置要database。参考:http://flask-sqlalchemy.pocoo.org/2.3/config/
app.config['SQLALCHEMY_DATABASE_URI'] =\
'sqlite:///' + os.path.join(basedir, 'data.sqlite')
创建data model,然后用脚本创建sqlite本地数据库。参考:http://flask-sqlalchemy.pocoo.org/2.3/quickstart/#a-minimal-application
2. Flask-Migrate数据库迁移框架

Flask-Migrate对SQLAlchemy的开发人员编写的一个数据库迁移框架Alembic做了包装,并集成到Flask-Script中,所有操作可以通过命令行完成。
https://github.com/janetat/flasky/commits/master?after=f0d6546112480b0f728194982e3fa8f9d7f0962f+34, git reset --hard 5d
关键代码:
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
...
db = SQLAlchemy(app)
migrate = Migrate(app, db)
...
# 导出到命令行
@app.shell_context_processor
def make_shell_context():
return dict(db=db, User=User, Role=Role)
...
export FLASK_APP=hello.py
flask db init
flask db upgrade
Flask - 数据库相关的更多相关文章
- 实验3、Flask数据库操作-如何使用Flask与数据库
1. 实验内容 数据库的使用对于可交互的Web应用程序是极其重要的,本节我们主要学习如何与各种主要数据库进行连接和使用,以及ORM的使用 2. 实验要点 掌握Flask对于各种主要数据库的连接方法 掌 ...
- Android数据库相关整理
今天对Android中数据库相关的操作和代码做了一个整理,便于自己之后的查阅.主要内容有: 1.原生数据库写法 2.终端进sqlite的操作 3.第三方库 4.事务处理 5.权限和路径 一.原生数据库 ...
- MySQL查看数据库相关信息
使用MySQL时,需要了解当前数据库的情况,例如当前的数据库大小.字符集.用户等等.下面总结了一些查看数据库相关信息的命令 1:查看显示所有数据库 mysql> show databases ...
- sqlite数据库相关总结
1. sqlite是轻量型.关系型管理系统,是嵌入式的,占用资源低.可移植性强,比mySql处理速度快,现在主流的版本是sqlite3 2. sqlite中的数据类型有TEXT(字符串,采用UTF-8 ...
- Atitit 基于meta的orm,提升加速数据库相关应用的开发
Atitit 基于meta的orm,提升加速数据库相关应用的开发 1.1. Overview概论1 1.2. Function & Feature功能特性1 1.2.1. meta api2 ...
- 阿里云OneinStack数据库相关
阿里云OneinStack数据库相关必须进入oneinstack目录下执行相关命令 ===================================源码安装目录: Nginx:/usr/loca ...
- oschina数据库相关
数据库相关 110数据库服务器 233NoSQL数据库 18MySQL衍生版 6开源XML数据库 311数据库管理工具 117数据库调整和优化 274数据库驱动程序 41数据库建模
- PB数据库相关
---------------------------------------------------------------- 数据库画板: 一张表定义了主键或者唯一索引,则能够在Results视窗 ...
- android中与SQLite数据库相关的类
为什么要在应用程序中使用数据库?数据库最主要的用途就是作为数据的存储容器,另外,由于可以很方便的将应用程序中的数据结构(比如C语言中的结构体)转化成数据库的表,这样我们就可以通过操作数据库来替代写一堆 ...
随机推荐
- 原生java与js结合
链接:https://www.jb51.cc/html5/15606.html
- SpringBoot-自动装载
1,SpringBoot里面有内置的tomcat容器. 2,SpringBoot是基于已有的东西创建的新的东西.核心:(AutoConfiguration)自动装载,Starter,Actuator, ...
- 【PAT甲级】1078 Hashing (25 分)(哈希表二次探测法)
题意: 输入两个正整数M和N(M<=10000,N<=M)表示哈希表的最大长度和插入的元素个数.如果M不是一个素数,把它变成大于M的最小素数,接着输入N个元素,输出它们在哈希表中的位置(从 ...
- cnpm - 解决 " cnpm : 无法加载文件 C:\Users\93457\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息 。。。 "
1.在win10 系统中搜索框 输入 Windos PowerShell选择 管理员身份运行 2,打开了powershell命令行之后,输入 set-ExecutionPolicy RemoteSig ...
- C# worksheet设置Excel样式(转载)
1.例子导出Excel的样式public void Exportdatagridviewtoexcel(string Textname) { SaveFileDialog savedialog = n ...
- jq基础(2)
jquery的选择器 基本选择器 id选择器:$(“#id名称”); 元素选择器:$(“元素名称”); 类选择器:$(“.类名”); 通配符:* 多个选择器共用(并集) 案例代码: <html& ...
- javascript数据类型及类型的转换总结
javascript 是浏览器客户端脚本语言,要想让网页与后台程序更好的交互效果,这里我们详细了解javascript 数据类型及类型的转换 1,数据类型 number number类型 数字类型,浮 ...
- WinForm开发(2)——DataGridView控件(2)——C# dataGridview控件,怎么获取行数
dataGridView1.Rows.Count;//所有行数dataGridView1.RowCount;//可见行数
- linux磁盘管理2-raid,lvm
raid 多个磁盘合成一个“阵列”来提供更好的性能.冗余,或者两者都提供 提高IO能力 磁盘并行读写 提高耐用性 磁盘冗余来实现 级别:多块磁盘组织在一起的工作方式有所不同 RAID实现的方式 外接式 ...
- ES-倒排索引
一.什么事倒排索引 二.倒排索引为什么查询速度快 (1)ES全文检索的底层是使用倒排索引实现的 (2)倒排索引会将文档的内容进行关键词分词,可以使用关键词直接定位到文档的内容
