您的位置:首页 > 其它

Flask-Restless初步了解

2016-01-14 22:38 246 查看
Flask-Restless是Flask框架的一个扩展库
1. 功能介绍
通过使用SQLAlchemy或Flask-SQLAlchemy框架定义的数据库模型,提供一个简单的ReSTful APIs产生器。(直译比较绕)
简单来说,你可以使用本框架产生各种机遇ReSTful规范的的HTTP服务器端接口(GET POST等)。往前推就是,你需要使用
SQLAlchemy或Flask-SQLAlchemy框架定义一个数据模型,然后以这个数据模型为基础,生成ReSTful APIs。

2.下载方法
pip install Flask-Restless

3.使用例子

import flask
import flask.ext.sqlalchemy
import flask.ext.restless

# 创建Flask应用和Flask-SQLAlchemy对象
app = flask.Flask(__name__)
app.config['DEBUG'] = True
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = flask.ext.sqlalchemy.SQLAlchemy(app)

# 像往常一样创建Flask-SQLAlchemy模型,但是要遵守下列两点(合理)限制:
#  1.必须有一个主键类型是sqlalchemy.Integer或sqlalchemy.Unicode。
#  2.必须有__init__方法,用来初始化数据(flask.ext.sqlalchemy.SQLAlchemy.Model已经提供)。
class Person(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.Unicode, unique=True)
birth_date = db.Column(db.Date)

class Computer(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.Unicode, unique=True)
vendor = db.Column(db.Unicode)
purchase_time = db.Column(db.DateTime)
owner_id = db.Column(db.Integer, db.ForeignKey('person.id'))
owner = db.relationship('Person', backref=db.backref('computers', lazy='dynamic'))

# 创建数据库表。
db.create_all()

# 创建Flask-Restless API管理器
manager = flask.ext.restless.APIManager(app, flask_sqlalchemy_db=db)

# 创建API端点,这些端点默认在'/api/<tablename>'可获取。
# 指定允许的HTTP方法也能被这样配置。
manager.create_api(Person, methods=['GET', 'POST', 'DELETE'])
manager.create_api(Computer, methods=['GET'])

# 启动flask程序
app.run()


4.其他功能
①可以自定义ReSTful 接口
②支持搜索功能

5.进一步学习
英文文档:https://flask-restless.readthedocs.org/en/latest/
源码地址:https://github.com/jfinkels/flask-restless
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: