flask 藍圖總結

一、介紹

藍圖在官網的介紹以下:
Flask 中的藍圖爲這些狀況設計:flask

  • 把一個應用分解爲一個藍圖的集合。這對大型應用是理想的。一個項目能夠實例化一個應用對象,初始化幾個擴展,並註冊一集合的藍圖。
  • 以 URL 前綴和/或子域名,在應用上註冊一個藍圖。 URL 前綴/子域名中的參數即成爲這個藍圖下的全部視圖函數的共同的視圖參數(默認狀況下)。
  • 在一個應用中用不一樣的 URL 規則屢次註冊一個藍圖。
  • 經過藍圖提供模板過濾器、靜態文件、模板和其它功能。一個藍圖不必定要實現應用或者視圖函數。
  • 初始化一個 Flask 擴展時,在這些狀況中註冊一個藍圖。

二、示例代碼

在文件__init__.py文件中api

from app.exceptions import errors
from flask import Blueprint
from flask_restful import Api

from app.vpc.views import VPCDetailApi, VPCApi, VPCListApi

vpc_api_bp = Blueprint("vpc_api_bp", __name__)
vpc_api = Api(vpc_api_bp, prefix='/vpcs', errors=errors)

vpc_api.add_resource(VPCApi, '')
vpc_api.add_resource(VPCDetailApi, '/detail')
vpc_api.add_resource(VPCListApi, '/list')

三、代碼說明

  1. 實例化一個藍圖
vpc_api_bp = Blueprint("vpc_api_bp", __name__)

經過實例化一個Blueprint類對象能夠建立藍本。這個構造函數有兩個必須指定的參數:藍本的名字和藍本所在的包或模塊。和程序同樣,大多數狀況下第二個參數使用Python的__name__變量便可。
二、註冊藍圖restful

# 註冊藍圖
app.register_blueprint(admin)
# 若是指定url前綴
app.register_blueprint(admin, url_prefix="/admin")
相關文章
相關標籤/搜索