提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录- 前言
- 一、Django-environ是什么?
- 二、使用步骤
- 1.安装库
- 2.引入
- 3. *** 作
- 总结
前言 Django不建议把配置文件里的敏感参数直接写在settings.py里,比如SECRET_KEY和数据库的PASSWORD,而是建议把这些参数放在环境变量里,因此我找到了Django-environ,由于文档描述得不是很清晰,因此与大家分享一下一些我知道的用法
提示:以下是本篇文章正文内容,下面案例可供参考
一、Django-environ是什么?它为您提供了一种使用从环境文件中获取并由 *** 作系统提供的环境变量配置Django应用程序的简单方法
二、使用步骤 1.安装库pii install Django-environ2.引入
import environ3. *** 作
env文件内容
DEBUG=False SECRET_KEY="django-insecure-aeo-_!$=#@!er1^ltjaiijmdxcxcxcghhghhhhf" ALLOWED_HOSTS=192.168.0.188 #当有多个的时候 格式为 192.168.0.188,192.168.0.188,192.168.0.188 逗号隔开 #数据库引擎://用户名:密码@地址:端口/数据库名 DATAbase_URL='mysql://user:password@127.0.0.1:3306/dbname' 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
#数据库引擎所有选项 DB_SCHEMES = { 'postgres': DJANGO_POSTGRES, 'postgresql': DJANGO_POSTGRES, 'psql': DJANGO_POSTGRES, 'pgsql': DJANGO_POSTGRES, 'postgis': 'django.contrib.gis.db.backends.postgis', 'mysql': 'django.db.backends.mysql', 'mysql2': 'django.db.backends.mysql', 'mysql-connector': 'mysql.connector.django', 'mysqlgis': 'django.contrib.gis.db.backends.mysql', 'mssql': 'sql_server.pyodbc', 'oracle': 'django.db.backends.oracle', 'pyodbc': 'sql_server.pyodbc', 'redshift': 'django_redshift_backend', 'spatialite': 'django.contrib.gis.db.backends.spatialite', 'sqlite': 'django.db.backends.sqlite3', 'ldap': 'ldapdb.backends.ldap', } #缓存引擎所有选项 CACHE_SCHEMES = { 'dbcache': 'django.core.cache.backends.db.DatabaseCache', 'dummycache': 'django.core.cache.backends.dummy.DummyCache', 'filecache': 'django.core.cache.backends.filebased.FilebasedCache', 'locmemcache': 'django.core.cache.backends.locmem.LocMemCache', 'memcache': 'django.core.cache.backends.memcached.MemcachedCache', 'pymemcache': PYMEMCACHE_DRIVER, 'pylibmc': 'django.core.cache.backends.memcached.PyLibMCCache', 'rediscache': REDIS_DRIVER, 'redis': REDIS_DRIVER, 'rediss': REDIS_DRIVER, }
settings.py
env = environ.Env() #实例化 env.read_env('envs/.env.dev') #读取文件,参数为文件路径 #获取布尔值 DEBUG = env.bool('DEBUG', False)# 先获取DEBUG变量值,获取不到就取使用默认值False #获取字符串 SECRET_KEY = env('SECRET_KEY') #获取列表值 ALLOWED_HOSTS = env.list('ALLOWED_HOSTS') # 设置默认数据库。 DATAbaseS = { 'default': env.db(), #解析DATAbase_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') }
我们可以创建两个文件用做开发环境和生产部署环境的配置
总结 以上就是今天要讲的内容,本文仅仅简单介绍了Django-environ的使用,Django-environ的最大优点是它支持使用.env文件来管理和读取敏感的环境变量,使我们方便管理配置参数欢迎分享,转载请注明来源:内存溢出
评论列表(0条)