Flask Restless初步了解

2022-02-15 02:16:52 字數 1906 閱讀 9802

flask-restless是flask框架的乙個擴充套件庫

1. 功能介紹

通過使用sqlalchemy或flask-sqlalchemy框架定義的資料庫模型,提供乙個簡單的restful apis產生器。(直譯比較繞)

簡單來說,你可以使用本框架產生各種機遇restful規範的的http伺服器端介面(get post等)。往前推就是,你需要使用

sqlalchemy或flask-sqlalchemy框架定義乙個資料模型,然後以這個資料模型為基礎,生成restful apis。

pip install flask-restless

3.使用例子

1import

flask

2import

flask.ext.sqlalchemy

3import

flask.ext.restless45

#建立flask應用和flask-sqlalchemy物件

)debug

'] =true

sqlalchemy_database_uri

'] = '

sqlite:////tmp/test.db'10

1112

#像往常一樣建立flask-sqlalchemy模型,但是要遵守下列兩點(合理)限制:13#

1.必須有乙個主鍵型別是sqlalchemy.integer或sqlalchemy.unicode。14#

2.必須有__init__方法,用來初始化資料(flask.ext.sqlalchemy.sqlalchemy.model已經提供)。

15class

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)

1920

21class

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'))

282930#

建立資料庫表。

31db.create_all()

3233

#建立flask-restless api管理器

3536

#建立api端點,這些端點預設在'/api/'可獲取。37#

指定允許的http方法也能被這樣配置。

38 manager.create_api(person, methods=['

get', '

post

', '

delete'])

39 manager.create_api(computer, methods=['

get'

])4041#

啟動flask程式

4.其他功能

①可以自定義restful 介面

②支援搜尋功能

5.進一步學習

英文文件:

A 初步實現

由前幾天寫的acm 改了下,昨天下午寫的但再儲存最短路徑時有點問題,剛把最短路徑儲存改好了.加了個4方向還是8方向,在障礙物邊上是否拐角繞行.這裡面和 a 障礙拐角 4方向8方向 include include include include using namespace std int r,c ...

程式設計初步

1 乙個分支的if語句 2 if else 二分支選擇結構 多分支選擇結構 if else 兩個語句可以新增括號表示等價的潛逃匹配關係。switch 表示式 注意 1。表示式型別為整形,字元型或列舉型,不能為浮點型。2。break可使用來簡化過程。3。case的內容不能重複。4。運算子加單引號。如果...

Eigen初步1 初步體驗Eigen庫

前言 eigen 是乙個線性算術的c 模板庫,包括 vectors,matrices,開源以及相關演算法。功能強大 快速 優雅以及支援多平台,可以使用該庫來方便處理一些矩陣的操作,達到類似matlab那樣的快捷。現在已經發展到eigen3了,目前最新版本為eigen 3.1.2。eigen使用預備工...