餅乾模燒瓶
cookiecutter 的 Flask 範本。 (支持Python≥3.8)
請參閱此儲存庫,以了解從最新版本的範本產生的範例專案。
立即使用
Docker (這是建立新專案的首選方法)
$ git clone https://github.com/cookiecutter-flask/cookiecutter-flask.git
$ cd cookiecutter-flask
# Basic usage (You will be prompted to provide basic information about your application)
$ ./cookiecutter-docker.sh
full_name [Steven Loria]:
...
# The repository for your flask app will be created in a directory with the name
# chosen in "package import name" question (default ./my_flask_app/)
# Additional arguments are available
$ ./cookiecutter-docker.sh --help
Usage: ./cookiecutter-docker.sh [OPTIONS]
Options:
-b, --build Build Docker image before running cookiecutter
-h, --help Show this message and exit
標準
如果使用標準指令,則需要 Python ≥ 3.8。建議使用虛擬環境(如virtualenv
)。
pip3 install cookiecutter
cookiecutter https://github.com/cookiecutter-flask/cookiecutter-flask.git
系統會詢問您的基本資訊(姓名、專案名稱、應用程式名稱等)。此資訊將在您的新專案中使用。
配置並運行
產生專案程式碼後,在新應用程式運行之前還必須執行一些步驟。產生的專案的自述文件向您展示如何設定和運行應用程式。 (您可以在此處查看模板自述文件)。
特徵
- Bootstrap 5 與 Font Awesome 6 以及入門模板
- Flask-SQLAlchemy 與基本使用者模型
- 使用 Flask-Migrate 輕鬆進行資料庫遷移
- 根據十二因素應用程式在環境變數中進行配置
- Flask-WTForms 附有登入和註冊表單
- Flask-登入進行身份驗證
- Flask-Bcrypt 用於密碼哈希
- 用於部署到 PaaS(例如 Heroku)的 Procfile
- pytest 和 Factory-Boy 用於測試(包括範例測試)
- Flask 的 Click CLI 設定有簡單的指令
- 使用 webpack 縮小 CSS 和 JS
- npm 對前端套件管理的支持
- 使用 Flask-Cache 進行緩存
- 有用的調試工具列
- 利用最佳實踐:藍圖和應用程式工廠模式
截圖
靈感
- 建立 Flask 應用程式
- Flask-Foundation 作者:@JackStouffer
- @cburmeister 的燒瓶骨頭
- 燒瓶基本註冊@mjhea0
- Flask 官方文檔
執照
麻省理工學院許可。
變更日誌
未發布
- 將所有節點相依性更新到最新版本
- 切換到使用 Github Actions 進行模板 CI
- 刪除對 Node 10 作為 Cookiecutter 選項的支持
- 重構 Docker 映像以更有效地使用多階段構建
- 使用模板產生的項目使用 CI 的 Github 操作
- 將 Webpack 升級到 5.x
- 刪除了 Python 3.6、3.7 和 3.8 支持
- 新增了 Python 3.9、3.10、3.11 和 3.12 支持
- 新增了節點 18 和 20 LTS
- 刪除了節點 12、14 和 16 LTS
18.0.0 (09/09/2018)
- 使用 CalVer (
YY.MINOR.MICRO
)。 - 升級到 Bootstrap 4。 感謝@adawalli 和@Hiyorim。
- 使用環境變數進行配置。
- 增加對 Pipenv 的支援。
- 升級 Python 和 Node 依賴項。
0.13.0 (06/25/2017)
- 使用 webpack 建立前端資產。前端相依性透過 NPM 安裝。刪除 Flask-Assets 和 Bower.json。謝謝@wroberts。
0.12.0 (11/06/2016)
0.11.1(11/06/2016)
- 根據 0.11 文檔,正確地將第一個參數傳遞給
Flask
。謝謝@aliavni。 - 刪除 setuptools 和 wheel 作為相依性以修復 Heroku 上的部署。謝謝@Cabalist。
- 將 User.password 設為 Binary 欄位以與新版本的 bcrypt 相容。再次感謝@Cabalist。
0.11.0 (09/10/2016)
- 使用 FLASK_DEBUG 系統環境變數而非 MYFLASKAPP_ENV 來控制開發和生產環境的不同配置
0.10.1(2016年8月28日)
0.10.0 (08/28/2016)
- 更新至 Flask 0.11。
- 對於 CLI 命令,請使用 Click 而不是 Flask-Script。
0.9.0 (03/06/2016)
- 更新過時的要求。
- 新增 CSRF 保護。
- 在 Travis 建置上執行
lint
指令。 - 針對 Python 3.5 進行測試。
0.8.0 (11/09/2015)
- 更新過時的要求。
- 新增
lint
、 clean
和urls
管理指令。 - 添加異構體。
感謝@andreoliw 的這些貢獻。
0.7.0 (04/14/2015)
- 根據mitsuhiko/flask#1135 將擴充導入樣式更新為flask_*。
- 更新過時的要求(Werkzeug、Flask-WTF、WTForms、Flask-Bcrypt、Flask-DebugToolbar、Flask-Migrate、Bootstrap、jQuery)。感謝 @bsmithgall 通知我 Flask-Migrate 的關鍵補丁。
0.6.0 (12/01/2014)
- 在 Travis 上測試 cookiecutter。謝謝@joshfriend。
- 更新過時的要求(Flask-WTF、Flask-Migrate、Flask-DebugToolbar)
0.5.0 (09/29/2014)
- 修復 .travis.yml。
- 更新過時的需求(Flask-WTF、WTForms、Flask-SQLAlchemy、jquery、Bootstrap)
0.4.3(2014年7月27日)
- 新增
BaseFactory
類別。 - 新增 compat.py 模組。
- Python 3 上的測試通過。
0.4.2(2014年7月27日)
- 將工廠更新為factory-boy >= 2.4.0 語法。
- 更新過時的要求。
0.4.1 (06/07/2014)
- 更新過時的要求(Werkzeug 0.9.6、WTForms 2.0)
- 修復 home.html 中不匹配的 div 標籤(感謝@level09)
0.4.0 (04/19/2014)
- 新增 ReferenceCol 以獲得不太詳細的外鍵列。
- 新增 SurrogatePK mixin 以將整數主鍵新增至模型中。
- 新增具有 CRUD 便捷方法的基本模型類別。
- 修復設定 BCrypt 加密複雜性。測試速度要快得多。
- 新增角色模型以顯示 ReferenceCol 用法。
- 切換到 pytest。
- 升級所有過時的要求。
- 更多測試範例。
- 從 cookiecutter.json 中刪除「年份」(如有必要,只需更改許可證)。
0.3.2(2014年2月26日)
0.3.1(2014年2月20日)
- 更新 cookiecutter.json 中的預設年份。謝謝@Omeryl
- 在 webtests 中正確測試重定向。謝謝@Widershin
- 修復導航表單中的 POST 操作。謝謝@Widershin。
- 更新 Bootstrap (3.1.1) 和 jQuery (2.1.0)
- 可選的涼亭支撐。
- 開發環境中不使用縮小的資產。
0.3.0 (12/08/2013)
- 更模組化的組織:每個藍圖在目錄中包含自己的視圖、模型和表單。模板和靜態資產仍然有目錄。
- 使用 Flask-Bcrypt 進行密碼雜湊。
- Flask-登入進行身份驗證。
- 簡單的測試設定。只需創建
DbTestCase
的子類別即可。 - Flask 測試支援。
- 使用 Factory-Boy 進行測試工廠。
- 使用WebTest進行功能測試。
- 新增 Flask-調試工具列。
- 使用 Flask-Migrate 進行遷移。
- 使用 Flask-Cache 進行快取。
- 新增錯誤頁面模板(404、401、500)
- 為圖示新增 Font Awesome 4.0.3。
0.2.0 (09/21/2013)
- 新增manage.py腳本
- 添加 Flask-Assets 用於 CSS 和 JS 捆綁 + 縮小
- 對開發和生產環境使用不同的配置,由 MYFLASKAPP_ENV 系統環境變數控制
- 使用藍圖和應用程式工廠模式。
simple
分支不使用這些。
0.1.0 (08/20/2013)
- 第一次迭代
- Bootstrap 3決賽
- 工作使用者模型和註冊