cookiecutter-django是github上有着超过6000多颗星的第三方库,可以快速生成比django-admin startproject命令生成的默认目录更优秀的目录布局。今天我们就来看看cookiecutter-django生成的项目目录结构的优点,讲下为什么它胜出的原因。
我们先看下Django默认项目目录,相信你一定并不陌生。
myproject
├── myproject
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
而利用cookiecutter-django生成的项目目录结构如下所示。它把原myproject目录下的项目设置文件比如settings.py, urls.py和wsgi.py都移到了一个专门的管理设置的config文件夹,这样原myproject目录变成用于存放各个app所属代码,逻辑变得更清晰。
除此以外settings.py文件变成了settings文件夹,分别用于存放开发及生产环境下的配置文件。
├── settings
│ ├── __init__.py
│ ├── base.py
│ ├── local.py
│ └── production.py
cookiecutter-django借助于django-environ这个第三方库区分不同环境,并把设