本文只进行flask web开发前面部分数据库部署和数据库基本操作的基本讲解
首先,这里假设Python,flask,mysql,SQLAlchemy大家都安装好了,那么如何如何搭建起后端服务器的数据库呢
第一步,建立一个flask应用,
app = Flask(__name__)
示例应用现在和数据库模型是放在一起的,在真正的项目中可以将他放入一个__init__.py文件中,然后通过import语句引用来使用
from Flask.MyWebApp.app import app
init文件在项目中的位置如下图所示,数据库模型放在models中,views中是路由,static中是静态文件,templates中是html模板
第二步,进行数据库的相关设置
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['SECRET_KEY'] = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT' app.config['SQLALCHEMY_DATABASE_URI'] = "mysql://root:123456@localhost:3306/ssjapiplat"
SECRET_KEY是一个随机字符串,后续的session控制需要设置该字段
SQLALCHEMY_DATABASE_URI的设置规则,mysql://用户名:密码@数据库地址:端口/提前建立的项目数据库名
第三步,建立一个数据库对象,用于以后的数据库操作
db = SQLAlchemy(app)
第四步,建立数据库表完整代码如下
from flask import Flask from flask_sqlalchemy import SQLAlchemy from Flask.MyWebApp.app import app app = Flask(__name__) DEBUG = True app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['SECRET_KEY'] = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT' app.config['SQLALCHEMY_DATABASE_URI'] = "mysql://root:123456@localhost:3306/ssjapiplat" db = SQLAlchemy(app) # class BaseTable(db.Model): # create_time = db.Column(db.DATETIME) class UserInfo(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True) email = db.Column(db.String(120), unique=True) password = db.Column(db.String(80),) def __init__(self, username, email, password): self.username = username self.email = email self.password = password def __repr__(self): return '<User %s>' % self.username
第五步,执行如下代码,就会在数据库中创建如上代码所定义的数据表UserInfo了
db.create_all()
第六步,向数据库中插入数据
userinfo = UserInfo(username=username, email=email, password=password) db.session.add(userinfo) db.session.commit()
第七步,查询数据
UserInfo.query.filter_by(username=username, password=password).count()
filter_by设置查询过滤条件,count对查询结果进行计数
UserInfo.query.all()
查询所有数据