饼干模烧瓶
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 镜像以更有效地使用多阶段构建
- 使用模板生成的项目使用 Github 操作进行 CI
- 将 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决赛
- 工作用户模型和注册