采用django-environ管理django的配置

# coding=utf-8    
"""    
    采用django-environ管理django的配置    
"""    
import os    
import environ    
root = environ.Path(__file__) - 2    
env = environ.Env(DEBUG=(bool, False), )    
environ.Env.read_env()  # 从.env 读取配置    
SITE_ROOT = root()    
DEBUG = env('DEBUG')  # 如果不在环境变量中,则是False    
TEMPLATE_DEBUG = DEBUG    
DATABASES = {    
    'default': env.db(),  # 如果DATABASE_URL不在环境变量中,则异常    
    'extra': env.db('SQLITE_URL', default='sqlite:////tmp/my-tmp-sqlite.db')    
}    
SECRET_KEY = env('SECRET_KEY')    
# CACHES = {    
#     'default': env.cache(),    
#     'redis': env.cache('REDIS_URL')    
# }    
ALLOWED_HOSTS = []    
# 安装的应用    
INSTALLED_APPS = [    
    'django.contrib.admin',    
    'django.contrib.auth',    
    'django.contrib.contenttypes',    
    'django.contrib.sessions',    
    'django.contrib.messages',    
    'django.contrib.staticfiles',    
    'video'    
]    
# 安装的中间件    
MIDDLEWARE = [    
    'django.middleware.security.SecurityMiddleware',    
    'django.contrib.sessions.middleware.SessionMiddleware',    
    'django.middleware.common.CommonMiddleware',    
    'django.middleware.csrf.CsrfViewMiddleware',    
    'django.contrib.auth.middleware.AuthenticationMiddleware',    
    'django.contrib.messages.middleware.MessageMiddleware',    
    'django.middleware.clickjacking.XFrameOptionsMiddleware',    
]    
ROOT_URLCONF = 'demo_project.urls'    
# 模板配置    
TEMPLATES = [    
    {    
        'BACKEND': 'django.template.backends.django.DjangoTemplates',    
        'DIRS': [root.path('templates/')],    
        'APP_DIRS': True,    
        'OPTIONS': {    
            'context_processors': [    
                'django.template.context_processors.debug',    
                'django.template.context_processors.request',    
                'django.contrib.auth.context_processors.auth',    
                'django.contrib.messages.context_processors.messages',    
            ],    
        },    
    },    
]    
print(TEMPLATES)    
WSGI_APPLICATION = 'demo_project.wsgi.application'    
AUTH_PASSWORD_VALIDATORS = [    
    {    
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',    
    },    
    {    
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',    
    },    
    {    
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',    
    },    
    {    
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',    
    },    
]    
# 资源配置    
public_root = root.path('public/')    
MEDIA_ROOT = public_root('media')    
MEDIA_URL = '/media/'    
STATICFILES_DIRS = [    
    public_root('static')    
]    
STATIC_URL = '/static/'    
LANGUAGE_CODE = 'zh-Hans'    
TIME_ZONE = 'Asia/Shanghai'    
USE_I18N = True    
USE_L10N = True    
USE_TZ = False

具体可以看下我写的demohttps://github.com/x-debug/django-env-example

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

备案号:浙ICP备15006402号-2 备注:博客君在0.045里共执行41个查询, 总共占用内存 5.18MB