本文只进行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()
查询所有数据