中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

flask工廠函數啟動的好處有什么

發布時間:2020-11-25 11:09:45 來源:億速云 閱讀:165 作者:小新 欄目:編程語言

這篇文章主要介紹flask工廠函數啟動的好處有什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

程序的工廠函數在app包的構造文件中定義,即__init__.py。這個構造文件導入大多數正在使用的Flask擴展。不過由于尚未初始化所需的程序實例,所以沒有初始化擴展,創建擴展類時也沒有向構造函數傳入參數。create_app()函數就是程序的工廠函數,他接受一個程序使用的配置名作為參數,該配置名在config.py文件中定義。程序創建,配置后,就能初始化擴展了。在之前創建的擴展對象上調用init_app()可以完成初始化過程。

在我們開始學習FLask的時候,創建應用的實例是用app=Flask(name)來做的,但是當我們想創建多個不同配置的實例的時候咋辦呢,每次都要改是不是很煩,那為了減少麻煩,我們可以采用調用一個create_app函數來返回應用實例的方法,這就是工廠方法的大概意思啦! 
文字說的再多也難以幫助理解,看代碼示例:

1.最初的寫法

from flask import Flask
from myapp.admin import admin
import config
app = Flask(__name__)
app.config.from_object('config')
app.register_blueprint(admin)
from myapp import views
from myapp import app
app.run(host='0.0.0.0')

2.改進,用工廠模式來創建應用

from flask import Flask
from flask.ext.mail import Mail
from flask.ext.sqlalchemy import SQLAlchemy
from werkzeug.utils import import_string
mail = Mail()
db = SQLAlchemy()
blueprints = [
'myapp.main:main',
'myapp.admin:admin',
]
def create_app(config):
app = Flask(__name__)
app.config.from_object(config)
# Load extensions
mail.init_app(app)
db.init_app(app)
# Load blueprints
for bp_name in blueprints:
bp = import_string(bp_name)
app.register_blueprint(bp)
return app
from flask import Blueprint
main = Blueprint('main', __name__)
from myapp.main import views
from myapp.main import main
@main.route('/')
def index():
return '<h2>Hello World from app factory!</h2>'

run.py用了工廠函數之后,啟動就要調用工廠函數創建應用實例再啟動

from myapp import create_app
import config
app = create_app('config')
app.run(host='0.0.0.0', debug=True)

以上是“flask工廠函數啟動的好處有什么”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

五指山市| 美姑县| 安丘市| 普安县| 静宁县| 平阴县| 罗山县| 南丹县| 揭阳市| 获嘉县| 梓潼县| 武功县| 张家界市| 垦利县| 呼伦贝尔市| 南郑县| 陇川县| 黄石市| 柏乡县| 资源县| 西藏| 平原县| 广南县| 沧源| 肥西县| 澄江县| 阿鲁科尔沁旗| 喀什市| 建阳市| 林芝县| 招远市| 霍城县| 伊吾县| 都兰县| 南和县| 泾川县| 蒲江县| 民县| 呼和浩特市| 抚顺市| 庆阳市|