Django-environ 加载 .env 配置文件
2023-06-13 09:18:39 时间
docs: https://django-environ.readthedocs.io/en/latest/
Django-environ officially supports Django 1.8 ~ 2.0.
Installation:
$ pip install django-environ
NOTE: No need to add it to INSTALLED_APPS.
Then create a .env
file to project path:
DEBUG=True
SECRET_KEY=your-secret-key
DATABASE_URL=psql://urser:un-githubbedpassword@127.0.0.1:8458/database
SQLITE_URL=sqlite:///my-local-sqlite.db
CACHE_URL=memcache://127.0.0.1:11211,127.0.0.1:11212,127.0.0.1:11213
REDIS_URL=rediscache://127.0.0.1:6379/1?client_class=django_redis.client.DefaultClient&password=ungithubbed-secret
And use it with settings.py above. Don’t forget to add .env
in your .gitignore
(tip: add .env.example
with a template of your variables).
import environ
# initialize env
env = environ.Env(
# set casting, default value
DEBUG=(bool, False)
)
# reading .env file
environ.Env.read_env(".env")
# False if not in os.environ
DEBUG = env('DEBUG')
# Raises django's ImproperlyConfigured exception if SECRET_KEY not in os.environ
SECRET_KEY = env('SECRET_KEY')
# Parse database connection url strings like psql://user:pass@127.0.0.1:8458/db
DATABASES = {
# read os.environ['DATABASE_URL'] and raises ImproperlyConfigured exception if not found
'default': env.db(),
# read os.environ['SQLITE_URL']
'extra': env.db('SQLITE_URL', default='sqlite:////tmp/my-tmp-sqlite.db')
}
CACHES = {
# read os.environ['CACHE_URL'] and raises ImproperlyConfigured exception if not found
'default': env.cache(),
# read os.environ['REDIS_URL']
'redis': env.cache('REDIS_URL')
}
See the similar code, sans django-environ.
相关文章
- Django的请求与响应
- 博客将 Django 1.11+ 升级到 Django 2.2+ 遇到的问题及规避方法
- Django(75)django-rest-framework-simplejwt「建议收藏」
- Django(50)drf异常模块源码分析
- Django(4)操作指令大全[通俗易懂]
- django配置文件详解_django配置redis
- Django(37)配置django日志[通俗易懂]
- Django发送邮箱验证码实现以及邮箱html模板
- django官方入门教程_DJango
- Django框架基础
- Django Ajax序列化与反序列化
- 软件测试|django定时任务
- 若依Django框架soft-delete导致的数据查询异常
- python-Django-Django 模型层的关联关系(一)
- Centos8下django项目部署 nginx+uwsgi的教程
- django开发微信小程序后端登录详解手机开发
- Django Cookie和Session详解编程语言
- Django的auth【认证】模块简介详解编程语言
- 开启Linux Django之旅:踏上程序设计盛宴之路(linuxdjango)
- 学习如何使用Django连接MySQL数据库(django连接mysql)
- django模型中的字段和model名显示为中文小技巧分享