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

Posted zhzhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

谢谢

以上是关于Python3使用Django2.x的settings文件详解的主要内容,如果未能解决你的问题,请参考以下文章

macOS下Django配置mysql,无法安装mysqlclient的问题

Django2.X中的中间件

Django2.x版本路由系统的正则写法以及视图函数的返回问题

django2.X 路由兼容 include模块书写规范(尴尬的namespace)

Django2.X 与 PyMySQL包兼容

django2.x版本 url配置