zoukankan      html  css  js  c++  java
  • 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.进一步学习
         
  • 相关阅读:
    质数学习笔记
    一本通 1615:【例 1】序列的第 k 个数
    2019.05.09考试解题报告
    洛谷 P1057 传球游戏
    浅谈逆序对
    Set学习笔记
    洛谷 P1115 最大子段和
    洛谷 P1234 小A的口头禅
    About Her
    洛谷 P1164 小A点菜
  • 原文地址:https://www.cnblogs.com/yaoel/p/5131963.html
Copyright © 2011-2022 走看看