版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunshunli/article/details/83279054
如果我们想要在flask中用到数据库,那么我们需要配置。
下面我们有mysql为例来配置
首先你的电脑上要有一个mysql数据库,然后才可以。
下面是我们配置的代码
from flask import Flask,render_template
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI']='mysql+pymysql://root:root@localhost/base'#配置数据库的地址
app.config['SQLALCHEMY_TRACK_MODIFICATIONS']=False#跟踪数据库的修改
db = SQLAlchemy(app)
@app.route('/',methods=['GET','POST'])
def login_html():
return render_template('login.html')
if __name__ == '__main__':
app.run(debug=True)
现在我们就已经和数据库连接上了。
app.config['SQLALCHEMY_DATABASE_URI']='mysql+pymysql://root:root@localhost/base'
如果你用的是python3,那么我们要使用pymysql来进行连接
还有要明确一点,你想要连接数据库,首先你要有数据库,这里的数据库是指你已经建立好的数据库,沃恩要做的事在你已经建立好的数据库中建立表。
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
# app.config['SQLALCHEMY_DATABASE_URI']='mysql://root:[email protected]/3306'#配置数据库的地址
app.config['SQLALCHEMY_DATABASE_URI']='mysql+pymysql://root:root@localhost/base'
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN']=True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS']=False#跟踪数据库的修改
db = SQLAlchemy(app)
#数据库模型。需要继承db.Model
class Role(db.Model):
#定义表名
_tablename_='role'
#定义字段
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(64),unique=True,nullable=True)
# users = db.relationship('users', backref='role')
# def __repr__(self):
# return '<Role %s>' % self.name
class User(db.Model):
# 定义表名
_tablename_ = 'users'
# 定义字段
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64), unique=True)
#ForeignKey表示是外键
role_id = db.Column(db.Integer, db.ForeignKey('role.id'))
#
# def __repr__(self):
# return '<User %s>' % self.name
@app.route('/')
def index():
return 'helloworld'
if __name__ == '__main__':
#删除表
db.drop_all()
#创建表
db.create_all()
#数据添加
role = Role(name='admin')
db.session.add(role)
db.session.commit()
user = User(name='ssl',role_id=role.id)
db.session.add(user)
db.session.commit()
#修改数据
user.name = 'hxf'
# #删除数据
# db.session.delete(user)
# db.session.commit()
app.run(debug=True)
上面就是我们往数据库中添加数据,更改数据,删除数据。