您的位置:首页 > 编程语言 > Go语言

Django之setting.py安全配置详解

2018-07-13 16:01 357 查看

1. BASE_DIR

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

当前工程的根目录,Django会依此来定位工程内的相关文件,我们也可以使用该参数来构造文件路径。
2. DEBUG调试模式,创建工程后初始值为True,即默认工作在调试模式下。作用:

  • 修改代码文件,程序自动重启

  • Django程序出现异常时,向前端显示详细的错误追踪信息,

  • 而非调试模式下,仅返回Server Error (500)

注意:部署线上运行的Django不要运行在调式模式下,记得修改DEBUG=False。

3. 本地语言与时区

Django支持本地化处理,即显示语言与时区支持本地化。本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化,中国大陆地区使用简体中文,时区使用亚洲/上海时区,注意这里不使用北京时区表示。初始化的工程默认语言和时区为英语和UTC标准时区

LANGUAGE_CODE = 'en-us'  # 语言
TIME_ZONE = 'UTC'  # 时区
将语言和时区修改为中国大陆信息
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
4, 导入操作系统的模块
    import os
5,项目的秘钥:有时候需要对某些数据进行签名计算,在签名计算时需要一个复杂的秘钥,默认提供了  SECRET_KEY = 'xsk+d_1q)sglmy^*r2(50vxz_jsnv3#%^t@d$_z(9(=a4x(cei'

6,允许哪些host可以访问到我们的程序
    ALLOWED_HOSTS = []7,注册和安装应用的地方

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'users.apps.UsersConfig', # 安装、注册users子应用

    # 注意点:(当需要使用某个应用中的模板文件或者需要迁移某个应用中的模型类时才要注册应用)
    # 如果不注册应用,视图也是可以正常访问的,因为视图只跟路由有关系
]8, 中间件(flask请求勾子)

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

9,指定请求中路由分发的总路由文件
ROOT_URLCONF = 'demo.urls'

10, 模板文件的配置
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates'
        'DIRS': [] ,              # 指定模板文件查找的路径
        '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',
            ],
        },
    },
]
11,部署项目时,wsgi.py启动的入口
WSGI_APPLICATION = 'demo.wsgi.application'

12 , Database    数据库的配置,默认是sqlite3.将来会配置MySQL
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '192.168.103.132',  # 数据库主机
        'PORT': 3306,  # 数据库端口
        'USER': 'root',  # 数据库用户名
        'PASSWORD': 'mysql',  # 数据库用户密码
        'NAME': 'django_demo_03'  # 数据库名字
    }
}

13, 密码认证的方案
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',
    },
]

14, 静态文件路由的前缀  Static files (CSS, JavaScript, Images)

STATIC_URL = '/static/'

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: