美文网首页
(3) Django - settings.py 配置

(3) Django - settings.py 配置

作者: libdream | 来源:发表于2019-01-10 15:51 被阅读0次

Django项目的配置文件settings.py主要配置有:

  • 项目路径BASE_DIR:读取当前项目在系统的具体路径,一般无须修改
  • 密钥配置SECRET_KEY:一个随机值,自动生成,无须修改
  • 调试模式DEBUG:开发阶段设置为True,项目部署上线时改为False
  • 域名访问权限ALLOWED_HOSTS:值为空时只允许本地访问,当DEBUGFalse时为必填项,如想允许所有域名访问,可设值为['*']
  • App列表INSTALLED_APPS:告诉Django有哪些app,内置的app有admin、auth、contenttypes、sessions、messages、staticfiles。如果在项目创建了app,必须在这里添加app名称。
  • 静态资源`STATIC_URL:定义静态资源存放的目录路径
  • 模板路径TEMPLATES:模板配置
  • 数据库DATABASES:数据库配置
  • 中间件MIDDLEWARE:中间件是处理request和response对象的钩子,主要是处理用户请求信息。

还有一些其他比较重要的配置项,如:
TIME_ZONE参数就是配置时区的,将其值改为'Asia/Shanghai',就可以使用上海的UTC时间

TIME_ZONE = 'Asia/Shanghai'

LANGUAGE_CODE参数就是配置语言的,将其值改为'zh-Hans',就可以使后台变为中文界面了。

LANGUAGE_CODE = 'zh-Hans'

settings.py文件的主要介绍如下:

import os

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


#密钥配置
SECRET_KEY = '2q9e&95qhfgb438tsbq@h#o$#-5@xnplh@dufx0@4ahg#o+9zg'


#调试模式:项目部署阶段需要设为False
DEBUG = True

#域名访问权限:当DEBUG为False时,该值为必填项。如果想允许所有域名访问,
#该值可设为ALLOWED_HOSTS = ['*']
ALLOWED_HOSTS = []


#app列表
INSTALLED_APPS = [
    'polls.apps.PollsConfig',   #自定义的投票app
    'django.contrib.admin',     #内置的后台管理系统
    'django.contrib.auth',      #内置的用户认证系统
    'django.contrib.contenttypes',#记录项目中所有model元数据(Django的ORM框架)
    'django.contrib.sessions',  #Session会话功能
    'django.contrib.messages',  #消息提示功能
    'django.contrib.staticfiles',#查找静态资源路径
]
#中间件
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',#内置的安全机制,保护用户与网站的通信安全
    'django.contrib.sessions.middleware.SessionMiddleware',#会话Session功能
    '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 = 'mysite.urls'
#模板
TEMPLATES = [
    {   #定义模板引擎,用于识别模板里面的变量和指令
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        #设置模板所在路径,默认为空列表
        'DIRS': [os.path.join(BASE_DIR, 'templates'),
                 ],
        #是否在app里查找模板文件
        'APP_DIRS': True,
        #用于填充在RequestContext中上下文的调用函数,一般不做修改
        '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',
            ],
        },
    },
]

WSGI_APPLICATION = 'mysite.wsgi.application'


# Database
DATABASES = {
    #第一个数据库(默认数据库)
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    },
    #第二个数据库
    'mysql': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'music_db',
        'USER':'root',
        'PASSWORD':'123456',
        'HOST':'127.0.0.1',
        'PORT':'3306',
    },
}


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


#设为中文语言
LANGUAGE_CODE = 'zh-hans'
#设为上海时区
TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

USE_L10N = True

USE_TZ = True


#静态文件路径(CSS, JavaScript, Images)
STATIC_URL = '/static/'

相关文章

网友评论

      本文标题:(3) Django - settings.py 配置

      本文链接:https://www.haomeiwen.com/subject/ouyarqtx.html