学习完模板系统,接下来要研究的就是框架对数据库的操作,不论python的那个框架,直接使用数据库API(redis、pymysql等)都可以进行操作,但是这些操作不够方便,于是就有了ORM

1、Flask-sqlalchemy

  关于Flask-sqlalchemy的相关配置可以参考配置 — Flask-SQLAlchemy 2.0 documentation

  SQLAlchemy是python开源的一个ORM模块,类似的模块还有peewee,一些开发者将SQLAlchemy进行了针对Flask的封装,于是就有了Flask-sqlalchemy模块

  安装Flask-sqlalchemy,命令:

pip install Flask-sqlalchemy

  安装pymysql,命令:

pip install pymysql

2、SQLAlchemy建模

import os
from flask import Flask
from flask import render_template
from flask_sqlalchemy import SQLAlchemy
import pymysql pymysql.install_as_MySQLdb() # 创建一个应用
app = Flask(__name__) BASE_DIR = os.path.abspath(os.path.dirname(__file__)) # 链接数据库
app.config["SQLALCHEMY_DATABASE_URI"] = "mysql://root:123456@localhost/flaskdb"
# 请求结束之后自动提交
app.config["SQLALCHEMY_COMMIT_ON_TEARDOWN"] = True
# 跟踪修改
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = True models = SQLAlchemy(app) class Test(models.Model):
__tablename__ = "test"
id = models.Column(models.Integer, primary_key=True)
name = models.Column(models.String(32))
time = models.Column(models.Date) @app.route("/index/", methods=["GET", "POST"])
def index():
name = "index"
return render_template("index.html", **locals()) if __name__ == '__main__':
models.create_all() # 同步数据库
app.run(host="127.0.0.1", port=8000, debug=True)

  上面代码链接的是mysql数据库,一般会报以下警告:

解决方案:

  导入模块mysql-connector,命令:

pip install mysql-connector

  修改链接数据库部分的代码:

app.config["SQLALCHEMY_DATABASE_URI"] = "mysql+mysqlconnector://root:123456@localhost/flaskdb"

  至此,警告问题解决

最新文章

  1. Entity Framework 教程——安装Entity Framework环境
  2. xamarin UWP证书问题汇总
  3. 21-React的学习
  4. Thinkphp源码分析系列(六)–路由机制
  5. windows内核 内存管理
  6. Toad for Oracle 快捷键
  7. 编写自己的单点登录(SSO)服务
  8. jQuery validata插件实现(每周一插件系列)
  9. 潜在风险的频次vs潜在风险的严重影响的程度(以及恢复)
  10. java基础语法-内部类与匿名内部类
  11. 由于SVN导致桌面图标都带有?标记
  12. CSS3简单画出3d图形
  13. java中如何获得方法中的参数名
  14. 深入理解Redis Cluster
  15. [ Windows BAT Script ] 删除某个目录下的所有某类文件
  16. 7.3 5种IO模型与IO复用
  17. 747_Largest-Number-At-Least-Twice-of-Others
  18. [转]DbHelper通用数据库访问帮助类
  19. Create XML Files Out Of SQL Server With SSIS And FOR XML Syntax
  20. DBArtist之Oracle入门第2步: 了解Oracle的Database Control

热门文章

  1. Mac OS Catalina 如何删除自带的应用
  2. postgresql从库搭建--逻辑复制
  3. Step ‘Publish JUnit test result report’ failed: No test report files were found问题解决
  4. 什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing )?
  5. DrawerLayout(抽屉效果)
  6. WebGL简易教程(十):光照
  7. Zabbix监控方案-官方最新4.4版本
  8. .NET Core 3.0之深入源码理解ObjectPool(一)
  9. 搭建docker+swoole+php7 的环境
  10. 一个神秘现象引发对beego框架的思考