溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

flask中如何使用藍(lán)圖將路由分開寫在不同文件

發(fā)布時(shí)間:2021-08-10 10:58:09 來源:億速云 閱讀:425 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“flask中如何使用藍(lán)圖將路由分開寫在不同文件”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“flask中如何使用藍(lán)圖將路由分開寫在不同文件”這篇文章吧。

具體如下。

Flask 用 藍(lán)圖(blueprints) 的概念來在一個(gè)應(yīng)用中或跨應(yīng)用制作應(yīng)用組件和支持通用的模式。藍(lán)圖很好地簡(jiǎn)化了大型應(yīng)用工作的方式,并提供給 Flask 擴(kuò)展在應(yīng)用上注冊(cè)操作的核心方法。一個(gè)Blueprint 對(duì)象與Flask 應(yīng)用對(duì)象的工作方式很像,但它確實(shí)不是一個(gè)應(yīng)用,而是一個(gè)描述如何構(gòu)建或擴(kuò)展應(yīng)用的藍(lán)圖 。

Flask 中的藍(lán)圖為這些情況設(shè)計(jì):

把一個(gè)應(yīng)用分解為一個(gè)藍(lán)圖的集合。這對(duì)大型應(yīng)用是理想的。一個(gè)項(xiàng)目可以實(shí)例化一個(gè)應(yīng)用對(duì)象,初始化幾個(gè)擴(kuò)展,并注冊(cè)一集合的藍(lán)圖。

以 URL 前綴和/或子域名,在應(yīng)用上注冊(cè)一個(gè)藍(lán)圖。 URL 前綴/子域名中的參數(shù)即成為這個(gè)藍(lán)圖下的所有視圖函數(shù)的共同的視圖參數(shù)(默認(rèn)情況下)。

在一個(gè)應(yīng)用中用不同的 URL 規(guī)則多次注冊(cè)一個(gè)藍(lán)圖。

通過藍(lán)圖提供模板過濾器、靜態(tài)文件、模板和其它功能。一個(gè)藍(lán)圖不一定要實(shí)現(xiàn)應(yīng)用或者視圖函數(shù)。

初始化一個(gè) Flask 擴(kuò)展時(shí),在這些情況中注冊(cè)一個(gè)藍(lán)圖。

Flask 中的藍(lán)圖不是即插應(yīng)用,因?yàn)樗鼘?shí)際上并不是一個(gè)應(yīng)用——它是可以注冊(cè),甚至可以多次注冊(cè)到應(yīng)用上的操作集合。為什么不使用多個(gè)應(yīng)用對(duì)象?你可以做到那樣(見應(yīng)用調(diào)度 ),但是你的應(yīng)用的配置是分開的,并在 WSGI 層管理。

藍(lán)圖作為 Flask 層提供分割的替代,共享應(yīng)用配置,并且在必要情況下可以更改所注冊(cè)的應(yīng)用對(duì)象。它的缺點(diǎn)是你不能在應(yīng)用創(chuàng)建后撤銷注冊(cè)一個(gè)藍(lán)圖而不銷毀整個(gè)應(yīng)用對(duì)象。

以上內(nèi)容來自Flask0.10.1文檔

測(cè)試項(xiàng)目結(jié)構(gòu):

flask中如何使用藍(lán)圖將路由分開寫在不同文件

user.py:

#coding:utf-8 
#user 
from flask import Blueprint, render_template, redirect 
user = Blueprint('user',__name__) 
 
@user.route('/index') 
def index(): 
  return render_template('user/index.html') 
@user.route('/add') 
def add(): 
  return 'user_add' 
@user.route('/show') 
def show(): 
  return 'user_show'

admin.py:

# coding:utf-8 
#admin.py 
from flask import Blueprint,render_template, request 
admin = Blueprint('admin',__name__) 
 
@admin.route('/index') 
def index(): 
  return render_template('admin/index.html') 
@admin.route('/add') 
def add(): 
  return 'admin_add' 
@admin.route('/show') 
def show(): 
  return 'admin_show'

view.py:

# coding:utf-8 
from flask import Flask,request,render_template 
from admin.admin import admin 
from user.user import user 
app=Flask(__name__) 
app.register_blueprint(admin,url_prefix='/admin') 
app.register_blueprint(user, url_prefix='/user') 
if __name__ == '__main__': 
  app.run()

flask中如何使用藍(lán)圖將路由分開寫在不同文件

以上是“flask中如何使用藍(lán)圖將路由分開寫在不同文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI