python flask框架 数据库的使用


 

 1 #coding:utf8
 2 
 3 from flask import Flask  4 from flask_sqlalchemy import SQLAlchemy  5 
 6 app = Flask(__name__)  7 
 8 # 设置链接数据库的url
 9 app.config['SQLALCHEMY_DATABASE_URI']='mysql://root:mysql@127.0.0.1:3306/flask'
10 
11 # 每次请求结束后自动提交数据
12 app.config['SQLALCHEMY_COMMIT_ON_TEAMDOWN'] = True 13 
14 app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True 15 
16 # 查询时会显示原始的sql语句
17 app.config['SQLALCHEMY_ECHO'] = True 18 
19 # 注册数据库
20 db = SQLAlchemy(app) 21 
22 
23 
24 
25 class Role(db.Model): 26     # 定义表名
27     __tablename__ = 'roles'
28     # 定义列对象
29     id = db.Column(db.Integer,primary_key=True) 30     name = db.Column(db.String(64),unique=True) 31 
32     # 关系字段 用于两个方向查
33     user = db.relationship('User',backref='rel') 34 
35     # repr() 方法现实一个可读字符串
36     def __repr__(self): 37         return str(self.name) 38 
39 
40 class User(db.Model): 41     __tablename__ = 'users'
42     id = db.Column(db.Integer,primary_key=True) 43     name = db.Column(db.String(64),unique=True,index=True) 44     email = db.Column(db.String(64),unique=True) 45     pswd = db.Column(db.String(64)) 46     role_id = db.Column(db.Integer,db.ForeignKey("roles.id")) 47 
48     def __repr__(self): 49         return str(self.name) 50 
51 
52 if __name__ == '__main__': 53     db.drop_all()   # 删除表
54     db.create_all() # 创建表
55     ro1 = Role(name = 'admin')  # 创建对象
56     ro2 = Role(name = 'user' ) 57     # 向数据库添加数据
58  db.session.add_all([ro1,ro2]) 59     # 提交
60     # db.session.commit()
61 
62 
63     us1 = User(name='wang', email='wang@163.com', pswd='123456', role_id=ro1.id) 64     us2 = User(name='zhang', email='zhang@189.com', pswd='201512', role_id=ro2.id) 65     us3 = User(name='chen', email='chen@126.com', pswd='987654', role_id=ro2.id) 66     us4 = User(name='zhou', email='zhou@163.com', pswd='456789', role_id=ro1.id) 67  db.session.add_all([us1, us2, us3, us4]) 68  db.session.commit() 69 
70 
71     app.run(debug=True) 72     

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM