一个用于快速创建生产就绪Django项目的Cookiecutter模板。
项目描述
由Cookiecutter提供动力,Cookiecutter Django是一个用于快速启动生产就绪Django项目的框架。
查看故障排除以获取常见错误和障碍
如果您对Cookiecutter Django有问题,请打开问题,不要向维护者发送电子邮件。
需要快速专业的付费支持?请联系support@cookiecutter.io。这包括配置您的服务器、修复错误、审查您的代码以及所有介于两者之间的事情。
功能
适用于Django 1.11
与Python 3.6兼容
以100%的起始测试覆盖率渲染Django项目
Twitter Bootstrap v4.0.0 - 测试版1(维护的Foundation分支也可用)
基于12-Factor的设置,通过django-environ
默认安全。我们相信SSL。
优化开发和生产设置
通过django-allauth进行注册
附带可用的自定义用户模型
使用Grunt构建compass和livereload
使用Amazon S3进行媒体存储
使用docker-compose支持Docker开发与生产(使用支持Caddy与Let'sEncrypt的docker-compose)
用于部署到Heroku的Procfile
部署到PythonAnywhere的说明
使用unittest或pytest运行测试
可自定义的PostgreSQL版本
可选集成
这些功能可以在项目初始设置时启用。
从Amazon S3或Whitenoise提供静态文件服务
Celery的配置(Celery)
与MailHog集成,用于本地邮件测试
与Sentry集成,用于错误记录
与Opbeat集成,用于性能监控
约束
仅使用维护的第三方库。
在所有地方使用PostgreSQL(9.2+)
配置的环境变量(除AWS ELB外,Apache/mod_wsgi将无法工作)。
支持此项目!
此项目由志愿者运行。请支持他们在维护和改进Cookiecutter Django方面的努力。
https://www.patreon.com/danielroygreenfeld:项目负责人。在AWS ELB和Django方面具有专业知识。
为维护者提供财务支持的项目
Two Scoops of Django 1.11
Two Scoops of Django是宇宙中最好的以甜点为主题的Django参考。
pyup
Pyup为您带来由Google和其他组织使用的自动化安全和依赖项更新。开源项目免费!
用法
让我们假设你想要创建一个名为“redditclone”的Django项目。与其使用startproject然后编辑结果以包含你的姓名、电子邮件和各种配置问题,这些问题总是在最糟糕的时刻才被忘记,不如让cookiecutter为你做所有的工作。
首先,获取Cookiecutter。相信我,它很棒
$ pip install "cookiecutter>=1.4.0"
现在运行它对此存储库
$ cookiecutter https://github.com/pydanny/cookiecutter-django
你会被提示输入一些值。提供它们,然后就会为你创建一个Django项目。
警告:在此之后,将“Daniel Greenfeld”、“pydanny”等更改为你自己的信息。
回答提示,使用你自己的期望选项。例如
Cloning into 'cookiecutter-django'... remote: Counting objects: 550, done. remote: Compressing objects: 100% (310/310), done. remote: Total 550 (delta 283), reused 479 (delta 222) Receiving objects: 100% (550/550), 127.66 KiB | 58 KiB/s, done. Resolving deltas: 100% (283/283), done. project_name [Project Name]: Reddit Clone project_slug [reddit_clone]: reddit author_name [Daniel Roy Greenfeld]: Daniel Greenfeld email [you@example.com]: pydanny@gmail.com description [A short description of the project.]: A reddit clone. domain_name [example.com]: myreddit.com version [0.1.0]: 0.0.1 timezone [UTC]: America/Los_Angeles use_whitenoise [y]: n use_celery [n]: y use_mailhog [n]: n use_sentry_for_error_reporting [y]: y use_opbeat [n]: y use_pycharm [n]: y windows [n]: n use_docker [y]: n use_heroku [n]: y use_compressor [n]: y Select postgresql_version: 1 - 9.5 2 - 9.4 3 - 9.3 4 - 9.2 Choose from 1, 2, 3, 4 [1]: 1 Select js_task_runner: 1 - Gulp 2 - Grunt 3 - None Choose from 1, 2, 3, 4 [1]: 1 Select open_source_license: 1 - MIT 2 - BSD 3 - GPLv3 4 - Apache Software License 2.0 5 - Not open source Choose from 1, 2, 3, 4, 5 [1]: 1
进入项目并四处看看
$ cd reddit/ $ ls
创建一个git存储库并将其推送到那里
$ git init $ git add . $ git commit -m "first awesome commit" $ git remote add origin git@github.com:pydanny/redditclone.git $ git push -u origin master
现在看看你的存储库。别忘了仔细查看生成的README。棒极了,对吧?
对于本地开发,请参阅以下内容
社区
有疑问吗?在Stack Overflow上提问之前,请将你的问题发布在cookiecutter-django标签下。我们定期检查那里的问题。
如果你认为你找到了一个错误或想要请求一个功能,请打开一个问题。
对于其他任何问题,你可以在Gitter上与我们聊天。
Two Scoops of Django的读者
你可能注意到,此项目的一些元素并不完全符合我们在第3章中的描述。原因是,此项目在许多方面都充当了尝试新想法和概念的测试平台。有时它们会起作用,有时则不会,但最终结果并不一定会与我在合著的书中描述的完全一致。
pyup.io用户
如果你正在使用pyup.io来保持你的依赖项更新和安全,请在结账时使用代码cookiecutter以每月15%的折扣。
“你的东西”
本项目中的Python和HTML代码散布着标记为“你的内容”的地方。这些地方是第三方库与你的项目集成的位置。
版本发布
需要稳定版本吗?您可以在https://github.com/pydanny/cookiecutter-django/releases找到它们。
这不是你想要的吗?
这是我想要的。 这可能不是你想要的。 不要担心,你有选择。
分支此项目
如果你对你的首选设置有不同意见,我鼓励你分支此项目以创建自己的版本。一旦你的分支运行正常,让我知道,我会将其添加到这里的“类似Cookiecutter模板”列表中。是否重命名你的分支由你决定。
如果你重命名了你的分支,我鼓励你提交到以下地方
cookiecutter,以便在README中列出为模板。
Django Packages上的cookiecutter 网格。
提交拉取请求
如果拉取请求小、原子化,并使我们的项目开发体验更好,我们接受拉取请求。
文章
在Fedora上开发和使用Cookiecutter-Django - 2016年1月18日
通过Docker开发和使用Cookiecutter-Django - 2015年12月29日
如何使用Cookiecutter和Django 1.8创建Django应用程序 - 2015年9月12日
Cookiecutter-Django简介 - 2016年2月19日
Django和GitLab - 使用你的免费账户运行持续集成和测试 - 2016年5月11日
如果你有一个博客或在线出版物,请撰写关于cookiecutter-django技巧和窍门的文章,然后发送包含链接的拉取请求。
行为准则
在Cookiecutter项目的代码库、问题跟踪器、聊天室和邮件列表中互动的每个人都应遵守PyPA行为准则。
项目详情
cookiecutter-django-1.11.9.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 1d4b2fd48e49d0c78b90a2f47c78db191e5ed90bf06b38deb414022e4bda2476 |
|
MD5 | 409b95cd490cdb563ad5cbbb9e10ad5c |
|
BLAKE2b-256 | d4c7dd6c0850252f4e07b644c7c5e14eb9a7a895eb4fbf6e07456d059b068090 |