Cookiecutter 是一款快速建立工程模板的 Python 命令行工具,它可以让你选择已有的模板来快速搭建工程项目,同时支持多种语言。

链接:https://github.com/cookiecutter/cookiecutter

安装

在 Python3 环境中使用 pip3 安装

  1. # 先安装 git
  2. pip3 install cookiecutter

找到使用的模板github的 https 地址, 到项目目录下执行:

  1. cookiecutter https://github.com/pydanny/cookiecutter-django.git

按照提示输入,构建项目

  1. project_name [My Awesome Project]: prj_name # 项目目录
  2. project_slug [prj_name]: # 项目slug
  3. description [Behold My Awesome Project!]: a simple website # 项目简介
  4. author_name [Daniel Roy Greenfeld]: __qj__ # 作者
  5. domain_name [example.com]: ilovestudy.club # 域名
  6. email [__qj__@example.com]: # 邮箱
  7. version [0.1.0]: # 版本号, 默认 0.1.0
  8. Select open_source_license: # 项目 License
  9. 1 - MIT
  10. 2 - BSD
  11. 3 - GPLv3
  12. 4 - Apache Software License 2.0
  13. 5 - Not open source
  14. Choose from 1, 2, 3, 4, 5 (1, 2, 3, 4, 5) [1]: 1
  15. timezone [UTC]: Asia/Shanghai # Django settings 中的 TIME_ZONE
  16. windows [n]: n # 是否是windows 环境
  17. use_pycharm [n]: y # 使用 pycharm
  18. use_docker [n]: n # 使用 docker
  19. Select postgresql_version: # Postgres 数据库版本,cookiecutter 默认只支持 Postgres
  20. 1 - 11.3
  21. 2 - 10.8
  22. 3 - 9.6
  23. 4 - 9.5
  24. 5 - 9.4
  25. Choose from 1, 2, 3, 4, 5 (1, 2, 3, 4, 5) [1]:
  26. Select js_task_runner: # js 的运行器
  27. 1 - None
  28. 2 - Gulp
  29. Choose from 1, 2 (1, 2) [1]:
  30. Select cloud_provider: # 云服务商
  31. 1 - AWS
  32. 2 - GCP
  33. 3 - None
  34. Choose from 1, 2, 3 (1, 2, 3) [1]: 3
  35. custom_bootstrap_compilation [n]: # 是否自定义 bootstrap 压缩
  36. use_compressor [n]: y # 使用 django-compressor
  37. use_celery [n]: y # 使用 Celery
  38. use_mailhog [n]: # 是否使用 mailhog
  39. use_sentry [n]: # 是否使用 sentry 错误日志监控
  40. use_whitenoise [n]: # whitenoise 用来部署静态文件,带有文件压缩功能,使用云CDN时一般会使用whitenoise代替nginx
  41. use_heroku [n]: # 使用 heroku ,国外一个PASS平台
  42. use_travisci [n]: # travisci 类似 jekins 用于 持续集成与发布
  43. keep_local_envs_in_vcs [y]: n # 是否在本地使用版本控制
  44. debug [n]: y
  45. [WARNING]: You chose not to use a cloud provider, media files won't be served in production.
  46. [SUCCESS]: Project initialized, keep up the good work!