内容简介:所需依赖:备注:flask-restful不能和flask的render_template模板结合使用,因为restfulapi的设计不是为了在flask里直接返回html。在使用restful时,使用前后端分离模式。
所需依赖:
Flask Flask-RESTful Python2.7
备注:flask-restful不能和flask的render_template模板结合使用,因为restfulapi的设计不是为了在flask里直接返回html。
在使用restful时,使用前后端分离模式。
本文档不包含flask的认证登陆功能
restful说明
restful把所有url请求当做资源, 资源下的get方法对应get请求,post方法对应post请求,put方法对应put请求,delete方法对应delete请求。
get请求,post新增, put修改, delete删除
具体的url设计模式,参考文章: RESTful API 设计指南
1、目录结构
. ├── assets │ ├── __init__.py │ ├── server.py │ ├── urls.py ├── run.py
2、assets下文件配置
__init__.py
from flask import Blueprint
assets_page = Blueprint('assets_page', __name__)
import urls
urls.py
#coding:utf-8 from assets import assets_page from flask_restful import Resource, Api from server import Servers, Server api = Api(assets_page) #注册路由 api.add_resource(Servers, '/servers') api.add_resource(Server, '/servers/<_id>')
server.py
#coding:utf-8
from flask import request
from flask_restful import Resource, Api
class Servers(Resource):
def get(self):
#返回所有数据
return 'this is data list'
def post(self):
#新增数据
data = request.get_json()
return 'add new data: %s'%data
class Server(Resource):
def get(self,_id):
#返回单条数据
return 'this data is %s'%_id
def delete(self,_id):
#删除单条数据
return 'delete data: %s'%_id
def put(self, _id):
#修改单条数据
data = request.get_json()
return 'put data %s: %s'%(_id, data)
3、run.py配置
#coding:utf-8
from flask import Flask
#导入蓝图实例
from assets import assets_page
app = Flask(__name__,
template_folder='templates',
static_folder='static',
)
#注册蓝图
app.register_blueprint(assets_page)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=True)
4、测试
在 linux 终端测试
#获取列表:
$ curl 127.0.0.1:5000/servers
"this is data list"
#新增数据
$ curl -X POST -H "Content-Type:application/json" -d '{"name":"yangr"}' 127.0.0.1:5000/servers
"add new data: {u'name': u'yangr'}"
#修改数据
$ curl -X PUT -H "Content-Type:application/json" -d '{"name":"yangr"}' 127.0.0.1:5000/servers/2
"put data 2: {u'name': u'yangr'}"
#删除数据
$ curl -X DELETE 127.0.0.1:5000/servers/3
"delete data: 3"
后续再出sqlalchemy系列操作数据库的文章
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ruby on Rails电子商务实战
Christian Hellsten、Jarkko Laine / 曹维远 / 人民邮电出版社 / 2008-4 / 49.00元
《Ruby on Rails电子商务实战》全面讲解了使用Ruby on Rails创建产品级应用程序的过程。书中通过演示构建网上书店的全过程,先后介绍如何使用如TDD的敏捷实践,启动一个项目并建立良好稳定的基础,如何深入Ruby on Rails,实现诸如将应用程序翻译成各种语言对产品进行调试等的普遍需求。其中用到的主要技术包括Ajax、聚合、设置标签和国际化等,还介绍了如何使用ActiveRec......一起来看看 《Ruby on Rails电子商务实战》 这本书的介绍吧!