flask開發restful框架demo

2021-10-09 13:34:06 字數 3256 閱讀 9519

flask是乙個基於python開發的微型web框架,其中werkzeug本質是socket服務端,其用於接收http請求並對請求進行預處理,然後觸發flask框架,開發人員基於flask框架提供的功能對請求進行相應的處理,並返回給使用者。

flask-sqlalchemy:運算元據庫;

flask-script:插入指令碼, 在終端中使用指令操作程式;

flask-migrate:管理遷移資料庫;

flask-session:session儲存方式指定;

flask-wtf:表單;

flask-mail:郵件;

flask-bable:提供國際化和本地化支援,翻譯;

flask-login:認證使用者狀態;

flask-openid:認證;

flask-restful:開發rest api的工具;

flask-bootstrap:整合前端twitter bootstrap框架;

flask-moment:本地化日期和時間;

flask-admin:簡單而可擴充套件的管理介面的框架

擴充套件列表:

flask官方文件

中文文件(

英文文件(

hello示例

from flask import flask

def hello_world():

return 'hello world!'

if __name__ == '__main__':

restful風格示例

# -*- coding: utf-8 -*-

# @time : 2020/9/17 11:46 下午

# @author : renwoxing

# @file : flask_restful_demo.py

# @software: pycharm

from flask import flask, jsonify, abort, request

books = [

,]def get_book(id):

for book in books:

if book['id'] == id:

return jsonify()

def get_books():

return jsonify()

def update_book(id):

for book in books:

if book['id'] == id:

book['name'] = request.form['name']

book['author'] = request.form['author']

book['price'] = request.form['price']

return jsonify()

abort(400)

def add_book():

if not request.form or not 'title' in request.form:

abort(400)

book =

return jsonify()

def delete_book(id):

for book in books:

if book['id'] == id:

books.remove(book)

return jsonify()

abort(404)

return jsonify()

if __name__ == '__main__':

使用flask擴充套件包示例

# -*- coding: utf-8 -*-

# @time : 2020/9/18 1:32 上午

# @author : renwoxing

# @file : flask_restful_ext_demo.py

# @software: pycharm

from flask import flask

from flask_restful import reqparse, abort, api, resource

parse = reqparse.requestparser

parse.add_argument('task')

todos = ,

'todo2': ,

'todo3':

}def abort_exception_if_todo_doesnt_exist(todo_id):

if todo_id not in todos:

abort(404, message="todo {} doesn't exist".format(todo_id))

class todo(esource):

def get(self, todo_id):

abort_exception_if_todo_doesnt_exist(todo_id)

return todos[todo_id]

def delete(self, todo_id):

abort_exception_if_todo_doesnt_exist(todo_id)

del todos[todo_id]

return 'todo is deleted', 204

def put(self, todo_id):

args = parse.parse_args()

task =

todos[todo_id] = task

return task, 201

class todolist(resource):

def get(self):

return todos

def post(self):

args = parse.parse_args()

todo_id = int(max(todos.keys()).lstrip('todo')) + 1

todo_id = 'todo' + str(todo_id)

todos[todo_id] =

return todos[todo_id], 201

# 設定路由

api.add_resource(todolist, '/todos')

api.add_resource(todo, '/todos/')

if __name__ == '__main__':

restful開發教程

restful架構,就是目前最流行的一種網際網路軟體架構。它結構清晰 符合標準 易於理解 擴充套件方便,所以正得到越來越多 的採用。restful 即representational state transfer的縮寫 其實是乙個開發理念,是對http的很好的詮釋。非rest的url http qu...

Restful風格開發

全稱 representational state transfer 強制翻譯 表述性狀態轉移 傳輸 1.restful 是一種風格 而非一種標準 2.根據此風格設計的軟體更簡潔且有層次 3.與rest 並列的方案 soap,rpc 4.以最適合使用者的任意形式將資源傳輸出去 1 使用者 可以是客戶...

Django開發部落格 RESTful

1.介紹 restful api是指符合rest風格的web介面 具體來說就是將所有被請求的實體當作資源,通過http自帶的方法 get,head,post,put,delete 來進行對應的增刪改查等操作。比如 獲取使用者列表 get user 獲取id為1的使用者資源 get user 1 建立...