<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### 導航 - [索引](# "總目錄") - [下一頁](# "應用調度") | - [上一頁](# "大型應用") | - [Flask 0.10.1 文檔](#) ? - [Flask 代碼模式](#) ? # 應用程序的工廠函數 如果您已經開始使用包和藍圖([*用藍圖實現模塊化的應用*](#))輔助您的應用開發了,那么這里還有一些非常好的辦法可以進一步的提升開發體驗。當藍圖被導入的時候,一個通用的模板將會負責創建應用程序對象。但是如果你將這個對象的創建工作移交給一個函數來完成,那么你就可以在此后創建它的多個實例。 這么做的目的在于: 1. 測試。你可以使用多個應用程序的實例,為每個實例分配分配不同的配置,從而測試每一種不同的情況。 1. 多個實例。想象以下情景:您需要同時運行同一個應用的不同版本,您當然可以在你的Web服務器中配置多個實例并分配不同的配置,但是如果你使用工廠函數,你就可以在一個隨手即得的進程中運行這一個應用的不同實例了! 那么該如何使用他們呢? ### 基礎的工廠函數 您可以像下面展示的這樣,從一個函數里啟動這個應用: ~~~ def create_app(config_filename): app = Flask(__name__) app.config.from_pyfile(config_filename) from yourapplication.views.admin import admin from yourapplication.views.frontend import frontend app.register_blueprint(admin) app.register_blueprint(frontend) return app ~~~ 有得必有失,在導入時,您無法在藍圖中使用這個應用程序對象。然而您可以在一個請求中使用他。如果獲取當前配置下的對應的應用程序對象呢?請使用:[current_app](# "flask.current_app") 函數: ~~~ from flask import current_app, Blueprint, render_template admin = Blueprint('admin', __name__, url_prefix='/admin') @admin.route('/') def index(): return render_template(current_app.config['INDEX_TEMPLATE']) ~~~ 在這里我們從配置中查找一個網頁模板文件的名字。 ### 使用應用程序 所以,要使用這樣的一個應用,你必須先創建這個應用對象,這里是一個運行此類程序的 run.py 文件的例子: ~~~ from yourapplication import create_app app = create_app('/path/to/config.cfg') app.run() ~~~ ### 工廠函數的改進 前文所提供的工廠函數并不是特別聰明好用,您可以改進它,如下的改變可以是直接且可行的: 1. 使得在單元測試中傳入配置值成為可行,以使您不必在文件系統中創建多個配置文件。 1. 在程序初始時從藍圖中調用一個函數,這樣您就有機會修改應用的參數屬性了(就像在在請求處理器前后的調用鉤子等) 1. 如果必要的話,在應用正在被創建時添加 WSGI 中間件。 ? 版權所有 2013, Armin Ronacher.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看