91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flask restful api與blueprint結合實踐

發布時間:2020-08-06 12:15:42 來源:網絡 閱讀:10332 作者:楊云1028 欄目:編程語言

所需依賴:

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系列操作數據庫的文章

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盐池县| 工布江达县| 鄯善县| 龙井市| 汾西县| 龙胜| 勐海县| 潜江市| 卢湾区| 五峰| 石狮市| 内丘县| 大埔县| 香河县| 望城县| 奎屯市| 五大连池市| 苍溪县| 四平市| 隆安县| 易门县| 延庆县| 陈巴尔虎旗| 乳山市| 新化县| 西峡县| 犍为县| 莱州市| 长春市| 涿州市| 罗甸县| 即墨市| 瑞昌市| 乌苏市| 东乡县| 安图县| 陆川县| 保定市| 沈丘县| 晋城| 汶上县|