Skip to content

轻量化django cookiecutter模板

本项目使用cookiecutter创建项目后,可以批量创建django app。 使用python manage.py startapp <app_name>后,一般要做以下的配置工作:

  • 在settings.py中添加app
  • 创建urls.py,将url.py内容添加到project_name/urls.py
  • 创建templates\app_name文件夹,可能需要创建index.html文件
  • 在views.py中添加默认的index方法
  • 其他可能的配置,如admin.py等 在这个过程中,很容易出错,因此需要自动化的方法来进行配置。

背景知识

在使用本项目时,默认用户已具备了cookiecutter和Django的背景知识。 官方提供的模板django-cookiecutter太重了,web项目一般不需要那么复杂,所以我自定义了一个轻量化的模板。

Github地址

moomboss cookiecutter 在项目的Readme中说明如何安装和使用模板。

cookiecutter git@github.com:silentQQQ/cookiecutter.git

设计思路

  1. 使用cookiecutter生成项目结构,包括自定义的settings.py文件等。所有的app应该放在apps文件夹下。
  2. 创建项目后,使用项目下add_app.py批量创建apps,这个脚本完成了文章开头所说的人工操作内容。
python add_app.py app1 app2 app3
  1. 创建完app后,可以测试app是否正常。
  python manage.py runserver

访问 http://127.0.0.1:8000/app1/

hello app1

使用建议

  1. 用户最好fork本仓库,clone到本地,然后进行修改。如settings.py中关于时区时间的设置、数据库的设置、邮件的设置等。
  2. 用户可以修改cookiecutter.json文件,对项目进行自定义配置。
  3. 用户可以修改\hooks\pre_gen_project.py和post_gen_project.py,这是cookiecutter创建项目前、项目创建后的钩子函数,可以做一些自定义操作。
  4. 用户可以扩展生成项目下的add_app.py文件,在创建app时,进行自定义操作。

如有好的建议,欢迎提issue

Released under the Apache 2.0 License.