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