日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

flask蓝图使用

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flask蓝图使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 一、環境
  • 二、使用步驟
    • 1.創建應用文件夾
    • 2.注冊藍圖
    • 3.運行


前言

flask為什么要使用藍圖呢?當我們要使用flask開發一個大型項目的時候,會涉及到很多的視圖設計,如果所有的視圖都寫在同一個文件里面,代碼就會變得混亂不堪,然而藍圖就可以很好的幫我們解決這個問題,把整個項目分成一個一個的應用,每一個應用專門負責一個功能,提高開發效率和方便后期的維護。現在開始學習吧。


一、環境

flask 2.0.2
python 3.7

二、使用步驟

在上篇博客flask管理數據庫的基礎上繼續寫代碼,文件布局如下:

1.創建應用文件夾

創建一個名為helloworld的應用,下面添加__init__.py和views.py:
init.py

from flask import Blueprinthello_blue = Blueprint('hello', __name__, url_prefix='/hello')# 這個一定要引入,否則視圖代碼不會運行 from . import views

views.py

from . import hello_blue# 編寫視圖函數 @hello_blue.route('/') def hello_world():return 'hello world'

其中第一個參數是藍圖名,url_prefix指的是藍圖前綴,會給每個子視圖的路徑加個前綴

2.注冊藍圖

為了避免以后項目會有很多藍圖注冊導致初始化文件代碼過多,所以新建一個py文件專門負責注冊藍圖:
register_blueprints.py

# 引入應用 from flask_teach import helloworlddef reg_blueprint(app):app.register_blueprint(helloworld.hello_blue)return app

之后在創建app的函數里面使用該函數

from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyfrom config import Config# 加了這句,引入藍圖注冊函數 from register_blueprints import reg_blueprint# 創建數據庫對象 db = SQLAlchemy()# 創建app def create_app():# 創建flask對象app = Flask(__name__)# 引入配置信息app.config.from_object(Config)# 關聯app和數據庫db.init_app(app)# 加了這句,調用函數注冊藍圖app = reg_blueprint(app)# 打印路徑# print(app.url_map)return app

3.運行

輸入命令運行項目,有如下結果:

ps:藍圖前綴是’/hello’,視圖函數路徑是’/hello_world’,所以最后路徑是‘/hello/hello_world’
大功告成,有什么問題歡迎到評論區留言

下一篇:flask操作數據庫

總結

以上是生活随笔為你收集整理的flask蓝图使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。