<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ### 導航 - [索引](# "總目錄") - [下一頁](# "步驟 4: 請求數據庫連接") | - [上一頁](# "步驟 2: 應用設置代碼") | - [Flask 0.10.1 文檔](#) ? - [教程](#) ? # 步驟 3: 創建數據庫 Flaskr 是一個數據庫驅動的應用,如同之前所概括的,更準確的說法是,一個由關系數據庫系統驅動的應用。關系數據庫系統需要一個模式來決定存儲信息的方式。所以在第一次開啟服務器之前,要點是創建模式。 可以通過管道把 schema.sql 作為 sqlite3 命令的輸入來創建這個模式,命令如下: ~~~ sqlite3 /tmp/flaskr.db < schema.sql ~~~ 這種方法的缺點是需要安裝 sqlite3 命令,而并不是每個系統都有安裝。而且你必須提供數據庫的路徑,否則將報錯。添加一個函數來對初始化數據庫是個不錯的想法。 如果你想這么做,你首先要從 contextlib 包中導入 [contextlib.closing()](http://docs.python.org/dev/library/contextlib.html#contextlib.closing "(在 Python v3.5)") [http://docs.python.org/dev/library/contextlib.html#contextlib.closing]函數。如果你想使用 Python 2.5 ,那么必須先啟用 with 聲明( __future__導入必須先于其它的導入): ~~~ from __future__ import with_statement from contextlib import closing ~~~ 接下來,我們可以創建一個名為 init_db 的函數來初始化數據庫。為此,我們可以使用之前定義的 connect_db 函數。只需要在 connect_db 函數后面添加這個函數: ~~~ def init_db(): with closing(connect_db()) as db: with app.open_resource('schema.sql') as f: db.cursor().executescript(f.read()) db.commit() ~~~ [closing()](http://docs.python.org/dev/library/contextlib.html#contextlib.closing "(在 Python v3.5)") [http://docs.python.org/dev/library/contextlib.html#contextlib.closing] 助手函數允許我們在 with 塊中保持數據庫連接可用。應用對象的 [open_resource()](# "flask.Flask.open_resource") 方法在其方框外也支持這個功能,因此可以在 with 塊中直接使用。這個函數從資源位置(你的 flaskr 文件夾)中打開一個文件,并且允許你讀取它。我們在這里用它在數據庫連接上執行一個腳本。 當我們連接到數據庫時會得到一個數據庫連接對象(這里命名它為 db ),這個對象提供給我們一個數據庫指針。指針上有一個可以執行完整腳本的方法。最后我們不顯式地提交更改, SQLite 3 或者其它事務數據庫不會這么做。 現在可以在 Python shell 里創建數據庫,導入并調用剛才的函數: ~~~ >>> from flaskr import init_db >>> init_db() ~~~ 故障排除 如果你獲得了一個表無法找到的異常,請檢查你確實調用了 init_db 函數并且表的名稱是正確的(如單數復數混淆)。 繼續 [*步驟 4: 請求數據庫連接*](#) ? 版權所有 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>

                              哎呀哎呀视频在线观看