Flask-Restless初步了解


Flask-Restless是Flask框架的一個擴展庫
1. 功能介紹
     通過使用SQLAlchemy或Flask-SQLAlchemy框架定義的數據庫模型,提供一個簡單的ReSTful APIs產生器。(直譯比較繞)
簡單來說,你可以使用本框架產生各種機遇ReSTful規范的的HTTP服務器端接口(GET POST等)。往前推就是,你需要使用
SQLAlchemy或Flask-SQLAlchemy框架定義一個數據模型,然后以這個數據模型為基礎,生成ReSTful APIs。
 
2.下載方法
     pip install Flask-Restless
 
3.使用例子
 
 1 import flask
 2 import flask.ext.sqlalchemy
 3 import flask.ext.restless
 4  
 5 # 創建Flask應用和Flask-SQLAlchemy對象
 6 app = flask.Flask(__name__)
 7 app.config['DEBUG'] = True
 8 app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
 9 db = flask.ext.sqlalchemy.SQLAlchemy(app)
10  
11  
12 # 像往常一樣創建Flask-SQLAlchemy模型,但是要遵守下列兩點(合理)限制:
13 #  1.必須有一個主鍵類型是sqlalchemy.Integer或sqlalchemy.Unicode。
14 #  2.必須有__init__方法,用來初始化數據(flask.ext.sqlalchemy.SQLAlchemy.Model已經提供)。
15 class Person(db.Model):
16   id = db.Column(db.Integer, primary_key=True)
17   name = db.Column(db.Unicode, unique=True)
18   birth_date = db.Column(db.Date)
19  
20  
21 class Computer(db.Model):
22   id = db.Column(db.Integer, primary_key=True)
23   name = db.Column(db.Unicode, unique=True)
24   vendor = db.Column(db.Unicode)
25   purchase_time = db.Column(db.DateTime)
26   owner_id = db.Column(db.Integer, db.ForeignKey('person.id'))
27   owner = db.relationship('Person', backref=db.backref('computers', lazy='dynamic'))
28  
29  
30 # 創建數據庫表。
31 db.create_all()
32  
33 # 創建Flask-Restless API管理器
34 manager = flask.ext.restless.APIManager(app, flask_sqlalchemy_db=db)
35  
36 # 創建API端點,這些端點默認在'/api/<tablename>'可獲取。
37 # 指定允許的HTTP方法也能被這樣配置。
38 manager.create_api(Person, methods=['GET', 'POST', 'DELETE'])
39 manager.create_api(Computer, methods=['GET'])
40  
41 # 啟動flask程序
42 app.run()

 

 
4.其他功能
     ①可以自定義ReSTful 接口
     ②支持搜索功能
    
5.進一步學習
     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM