学习 Flask 扩展 Flask-RESTful

pip install Flask-RESTful

Flask-RESTful扩展。首先,我们来安装上面这个扩展。

from flask import Flask
from flask_restful import Api, Resource, reqparse, abort

app = Flask(__name__)
api = Api(app)

USER_LIST = {
    1: {‘name‘:‘Michael‘},
    2: {‘name‘:‘Tom‘},
}

parser = reqparse.RequestParser()
parser.add_argument(‘name‘, type=str)

def abort_if_not_exist(user_id):
    if user_id not in USER_LIST:
        abort(404, message="User {} doesn‘t exist".format(user_id))

class User(Resource):
    def get(self, user_id):
        abort_if_not_exist(user_id)
        return USER_LIST[user_id]

    def delete(self, user_id):
        abort_if_not_exist(user_id)
        del USER_LIST[user_id]
        return ‘‘, 204

    def put(self, user_id):
        args = parser.parse_args(strict=True)
        USER_LIST[user_id] = {‘name‘: args[‘name‘]}
        return USER_LIST[user_id], 201

class UserList(Resource):
    def get(self):
        return USER_LIST

    def post(self):
        args = parser.parse_args(strict=True)
        user_id = int(max(USER_LIST.keys())) + 1
        USER_LIST[user_id] = {‘name‘: args[‘name‘]}
        return USER_LIST[user_id], 201

api.add_resource(UserList, ‘/users‘)
api.add_resource(User, ‘/users/<int:user_id>‘)

if __name__ == ‘__main__‘:
    app.run(host=‘127.0.0.1‘, debug=True)

然后在运行  python new2.py,浏览器打开可以看到:

命令行查看:

curl http://127.0.0.1:5000/users

【转自】http://www.cnblogs.com/Erick-L/p/7025708.html

原文地址:https://www.cnblogs.com/panjinzhao/p/python.html

时间: 2024-11-09 06:06:35

学习 Flask 扩展 Flask-RESTful的相关文章

Flask 扩展 HTTP认证

Restful API不保存状态,无法依赖Cookie及Session来保存用户信息,自然也无法使用Flask-Login扩展来实现用户认证.所以这里,我们就要介绍另一个扩展,Flask-HTTPAuth. pip install flask-httpauth 接下来创建扩展对象实例: from flask import Flask from flask_httpauth import HTTPBasicAuth app = Flask(__name__) auth = HTTPBasicAut

使用python的Flask实现一个RESTful API服务器端[翻译]

最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文将会使用python的Flask框架轻松实现一个RESTful的服务. REST的六个特性: Client-Server:服务器端与客户端分离. Stateless(无状态):每次客户端请求必需包含完整的信息,换句话说,每一次请求都是独立的. Cacheable(可缓存):服务器端必需指定哪些请求是可以缓存的. Layered System(分层结构):服务器端与客

学习参考《Flask Web开发:基于Python的Web应用开发实战(第2版)》中文PDF+源代码

在学习python Web开发时,我们会选择使用Django.flask等框架. 在学习flask时,推荐学习看看<Flask Web开发:基于Python的Web应用开发实战(第2版)> 分三部分,全面介绍如何基于Python微框架Flask进行Web开发.第一部分是Flask简介,介绍使用Flask框架及扩展开发Web程序的必备基础知识.第二部分则给出一个实例,真正带领大家一步步开发完整的博客和社交应用Flasky,从而将前述知识融会贯通,付诸实践.第三部分介绍了发布应用之前必须考虑的事项

Flask 扩展 缓存

如果同一个请求会被多次调用,每次调用都会消耗很多资源,并且每次返回的内容都相同,就该使用缓存了 自定义缓存装饰器 在使用Flask-Cache扩展实现缓存功能之前,我们先来自己写个视图缓存装饰器,方便我们来理解视图缓存的实现.首先,我们要有一个缓存,Werkzeug框架中的提供了一个简单的缓存对象SimpleCache,它是将缓存项存放在Python解释器的内存中,我们可以用下面的代码获取SimpleCache的缓存对象: from werkzeug.contrib.cache import S

Flask 扩展 国际化 本地化

pip install flask-babel 先初始化一个Flask-Babel的实例 from flask import Flask from flask.ext.babel import Babel app = Flask(__name__) babel = Babel(app) 设置语言和时区 Flask-Babel提供了两个Flask应用配置项: BABEL_DEFAULT_LOCALE: 应用默认语言,不设置的话即为"en" BABEL_DEFAULT_TIMEZONE:

Flask 扩展 Flask-PyMongo

安装 pip install Flask-PyMongo 初始化Pymongo实例 from flask import Flask from flask.ext.pymongo import PyMongo app = Flask(__name__) app.config.update( MONGO_HOST='localhost', MONGO_PORT=27017, MONGO_USERNAME='bjhee', MONGO_PASSWORD='111111', MONGO_DBNAME='

Flask 扩展 Mail

安装 pip install flask-mail from flask import Flask from flask_mail import Mail, Message app = Flask(__name__) app.config.update( MAIL_SERVER='smtp.example.com', MAIL_USERNAME='bjhee', MAIL_PASSWORD='example' ) mail = Mail(app) @app.route('/mail') def

2.6、Flask扩展

Flask 被设计为可扩展形式,故而没有提供一些重要的功能,例如数据库和用户认证,所以开发者可以自由选择最适合程序的包,或者按需求自行开发. 社区成员开发了大量不同用途的扩展,如果这还不能满足需求,你还可使用所有 Python 标准包或代码库.为了让你知道如何把扩展整合到程序中,接下来我们将在 hello.py 中添加一个扩展,使用命令行参数增强程序的功能. 使用Flask-Script支持命令行选项 Flask 的开发 Web 服务器支持很多启动设置选项,但只能在脚本中作为参数传给 app.r

Flask扩展 -- flask-mail

电子邮件是最常用的通信方式之一.虽然Python标准库中的smtplib包可用在Flask程序中发送电子邮件,但包装了smtplib的Flask-Mail扩展能更好的和Flask集成. 1.安装Flask-Mail 1.1使用pip安装 pip install flask-mail 1.2 下载源码安装 git clone https://github.com/mattupstate/flask-mail.git cd flask-mail python setup.py install 2.f