Flask 多檔案基本結構

       程式變複雜後,使用單個大型原始碼檔案會導致很多問題。不同於大多數其他的 Web 框架, Flask 並不強制要求大型專案使用特定的組織方式,程式結構的組織方式完全由開發者決定。在這裡介紹一種使用包和模組組織大型程式
的方式。

多檔案 Flask 程式的基本結構

<pre name="code" class="plain">|-flasky
|-app/
|-templates/
|-static/
|-main/
|-__init__.py
|-errors.py
|-forms.py
|-views.py
|-__init__.py
|-email.py
|-models.py
|-migrations/
|-tests/
|-__init__.py
|-test*.py
|-venv/
|-requirements.txt
|-config.py
|-manage.py

這種結構有 4 個頂級資料夾:
• Flask 程式一般都儲存在名為 app 的包中;
•  migrations 資料夾包含資料庫遷移指令碼;
• 單元測試編寫在 tests 包中;
• venv 資料夾包含 Python 虛擬環境。
同時還建立了一些新檔案:
• requirements.txt 列出了所有依賴包,便於在其他電腦中重新生成相同的虛擬環境;
• config.py 儲存配置;
• manage.py 用於啟動程式以及其他的程式任務。

      

        程式包用來儲存程式的所有程式碼、模板和靜態檔案。我們可以把這個包直接稱為 app(應用),如果有需求, 也可使用一個程式專用名字。 templates 和 static 資料夾是程式包的一部分,templates資料夾用於儲存渲染的模板,static用來儲存靜態檔案,如自定義CSS,圖示等。 資料庫模型和電子郵件支援函式也應該在此包中。