【转】Python3使用Django2.x的settings文件详解

 

# -*- coding:utf8 -*-
import os

# 项目路径
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# 安全密钥,默认随机加密字符串
SECRET_KEY = '36x5$p=6d2(pce!8tyjhciw4_j%r&85ql=h3(pst_2z4cqj)vf'

# 调试模式,项目上线即变更为 Flase 关闭 DEBUG 模式
DEBUG = True

# 项目上线需要填写,自行调试无需填写。可以使用 '*' 通配符
ALLOWED_HOSTS = []


# 应用定义
INSTALLED_APPS = [                              # 安装过的 APP 列表,换句话说需要加载的应用列表,有些是系统内置的
    'django.contrib.admin',                     # 后台管理系统
    'django.contrib.auth',                      # 用户认证系统
    'django.contrib.contenttypes',              # 记录 model 内容类型(Django的ORM框架)
    'django.contrib.sessions',                  # sessions会话访问功能,标识用户身份记录相关用户信息
    'django.contrib.messages',                  # 消息提示功能
    'django.contrib.staticfiles',               # 查找静态资源路径(需要手动指定),与尾部【STATICFILES_DIRS】对应
    'APP',                                      # 手动创建增加的 APP 名称
]

# 中间件(处理Django的request和response对象的钩子,Django接受到用户请求经过中间件处理请求,并执行相关处理反馈给用户),中间件的加载顺序不能错!!!
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',                # 内置的安全机制,保护用户与网站的通信安全
    'django.contrib.sessions.middleware.SessionMiddleware',         # 会话session功能
    'django.middlewart.locale.LocaleMiddleware',                    # 支持中文语言
    'django.middleware.common.CommonMiddleware',                    # 处理请求信息,规范化请求内容
    'django.middleware.csrf.CsrfViewMiddleware',                    # 开启 CSRF(跨站请求伪造) 防护功能
    'django.contrib.auth.middleware.AuthenticationMiddleware',      # 内置的用户认证系统
    'django.contrib.messages.middleware.MessageMiddleware',         # 内置的信息提示功能
    'django.middleware.clickjacking.XFrameOptionsMiddleware',       # 防止恶意程序点击劫持
]

# 根目录配置
ROOT_URLCONF = 'DjangoBlog.urls'

# 模版信息配置
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',       # 定义模版引擎
        # 内置模版引擎有 Django Templates 和 jinja2.Jinja2
        'DIRS': [os.path.join(BASE_DIR, 'APP/templates/')],                 # 指定模版静态文件的物理路径
        'APP_DIRS': True,                                                   # 是否在APP里查找模版
        'OPTIONS': {                                                        # 用户填充在 RequestContext 上下文的调用函数选项,一般不需要修改
            'context_processors': [                                         # 上下文处理列表
                'django.template.context_processors.debug',                 # 调试
                'django.template.context_processors.request',               # 请求
                'django.contrib.auth.context_processors.auth',              # 认证
                'django.contrib.messages.context_processors.messages',      # 消息
            ],
        },
    },
]

# 部署服务器时使用的 wsgi 模块
WSGI_APPLICATION = 'DjangoBlog.wsgi.application'


# Database
# https://docs.djangoproject.com/en/2.1/ref/settings/#databases

# 数据库连接配置设置
DATABASES = {
    'default': {                                            # 默认数据库
        'ENGINE': 'django.db.backends.sqlite3',             # 连接sqlite3数据库引擎
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),       # 连接数据库名称和路径
            },
    'MyMQL': {                                              # 连接mysql数据库名称
        'ENGINE': 'django.db.backends.mysql',               # 连接mysql数据库引擎
        'NAME': '数据库名称',
        'USER': '数据库用户名',
        'PASSWORD': '数据库密码',
        'HOST': '主机地址',
        'POST': '3306',
    }
}


# Password validation
# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators

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',
    },
]


# Internationalization
# https://docs.djangoproject.com/en/2.1/topics/i18n/

#LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-hans'           # 语言设置为中文
TIME_ZONE = 'UTC'                   # 时区设置
USE_I18N = True
USE_L10N = True
USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/

STATIC_URL = '/static/'
# URL静态访问名,如:http://127.0.0.1:/static/index.html。
# 默认APP下的static目录
# 可以使用 STATICFILES_DIRS参数指定路径

STATICFILES_DIRS = (os.path.join(BASE_DIR,"APP/templates"),)
# 静态文件指定的路径,可以有多个,元组或列表都可
# 与【INSTALLED_APPS】加载项 【django.contrib.staticfiles】 对应

STATIC_ROOT = 'APP/html'            # 配合 python manage.py collectstatic 命令使用,指定存放所有项目的静态文件目录,一般用于项目上线使用

 

转自:https://my.oschina.net/zhaojunhui/blog/2992058

 

谢谢

posted @ 2018-12-23 15:10  宝山方圆  阅读(798)  评论(0编辑  收藏  举报