Django 3.0+项目模板
这是一个简单的Django 3.0+项目模板,具有我喜欢的设置。大多数Django项目模板都做了太多的假设,或者太复杂了。我试图做出尽可能少的假设,同时仍然试图提供一个有用的设置。我的大多数项目都部署到了Heroku,因此这是针对Heroku进行优化的,但不是必需的。
特性
- Django 3.0+
- 用途 Pipenv -Python.org官方推荐的Python打包工具。
- 开发、暂存和生产设置 django配置.
- 使用开发工具获取价值洞察和调试信息 django调试工具栏.
- 自定义扩展名集合 django扩展.
- “暂存”和“生产”上的HTTPS和其他安全相关设置。
- 使用New Relic的Python代理运行gunicon的过程文件。
- psycopg2支持PostgreSQL数据库。
如何安装
$ django-admin.py startproject \
--template=https://github.com/jpadilla/django-project-template/archive/master.zip \
--name=Procfile \
--extension=py,md,env \
project_name
$ mv example.env .env
$ pipenv install --dev环境变量
这些在不同的环境中很常见。这 ENVIRONMENT 变量加载正确的设置,可能的值有: DEVELOPMENT, STAGING, PRODUCTION.
ENVIRONMENT='DEVELOPMENT'
DJANGO_SECRET_KEY='dont-tell-eve'
DJANGO_DEBUG='yes'这些设置(及其默认值)仅用于暂存和生产环境。
DJANGO_SESSION_COOKIE_SECURE='yes'
DJANGO_SECURE_BROWSER_XSS_FILTER='yes'
DJANGO_SECURE_CONTENT_TYPE_NOSNIFF='yes'
DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS='yes'
DJANGO_SECURE_HSTS_SECONDS=31536000
DJANGO_SECURE_REDIRECT_EXEMPT=''
DJANGO_SECURE_SSL_HOST=''
DJANGO_SECURE_SSL_REDIRECT='yes'
DJANGO_SECURE_PROXY_SSL_HEADER='HTTP_X_FORWARDED_PROTO,https'部署
可以部署到Heroku或您自己的服务器。
Heroku
$ heroku create
$ heroku addons:add heroku-postgresql:hobby-dev
$ heroku pg:promote DATABASE_URL
$ heroku config:set ENVIRONMENT=PRODUCTION
$ heroku config:set DJANGO_SECRET_KEY=`./manage.py generate_secret_key`许可证
MIT许可证(MIT)
版权所有(c)2012-2017何塞·帕迪拉
特此免费向任何获得以下文件副本的人授予许可 本软件和相关文档文件(“软件”),用于处理 软件不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再许可和/或出售副本 并允许软件提供给的人员 因此,根据以下条件:
上述版权声明和本许可声明应包含在所有 软件的副本或实质性部分。
软件按“原样”提供,不提供任何形式的明示或明示担保 隐含的,包括但不限于适销性保证, 适用于特定目的且不造成伤害。在任何情况下 作者或版权持有人对任何索赔、损害赔偿或其他 因以下原因产生的责任,无论是在合同、侵权或其他诉讼中, 出于或与软件、使用或其他交易有关 软件。
