Django学习记录2-settings.py文件

 Django 配置文件settings.py说明

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
#Django项目文件夹所在目录得绝对路径,一般不要修改。

DEBUG = True
#默认值是True。在本地开发测试环境下设置DEBUG=True可以显示bug信息,
便于开发者找出代码错误所在。当在部署项目在生产环境时,请切记设置
DEBUG=False。因为生成环境下打开Debug会暴露很多敏感设置信息
(比如数据库密码)。
注意: 当设置DEBUG=False, 你一定要设置ALLOWED_HOSTS选项, 否则会抛出异常。

 

 

ALLOWED_HOSTS = []
#默认值为空[]。设置ALLOWED_HOSTS是为了限定用户请求中的host值,以防止黑客构造包来进行头部攻击。该选项正确设置方式如下:
DEBUG=True:  ALLOWED_HOSTS可以为空,也可设置为['127.0.0.01', 'localhost']
DEBUG=False: ALLOWED_HOSTS=['46.124.78.xx', 'www.bat.com''127.0.0.1']

 

 

SECRET_KEY = 'cf%8d1ghgb^)$(msasdarp%$9$8olkgp=wd+u@%7uc12(zd4_v'
#SECRET_KEY是Django根据自己算法生成的一大串随机数,本质是个加密盐,
用于防止CSRF(Cross-site request forgery)跨站请求伪造攻击。
当部署Django项目到生产环境中时,Django文档建议不直接在settings.py里输入字符串,
而是采取下面两种方法读取SECRET_KEY。
# 方法一: 从环境变量中读取SECRET_KEY import os SECRET_KEY = os.environ['SECRET_KEY'] # 方法二: 从服务器上Django项目文件夹外的某个文件读取 with open('/etc/secret_key.txt') as f: SECRET_KEY = f.read().strip()

 

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    "my_app" #自定义的app
]

#增删一个项目(Project)所包含的应用(APP)。只有对列入此项的APP, Django才会生成相应的数据表。

 

 

 

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 = 'mysite.urls'

 

 

EMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
      #jango用来渲染模板用的引擎,默认是Django自带的,也可以缓存Jinjia的引擎
'DIRS': [],#用于放置html页。例如 os.path.join(BASE_DIR,"templates")
            这时在view页面中设置调用html页
                def index(request):
                    return render(request, "myapp/index.html")
     'APP_DIRS': True,  #它的作用就是让模板引擎去APP的目录里面的
                 templates目录里找模板文件,记住只能是
                 templates目录。该选项默认是False,但
                 是看到的默认是True,这个也是因为通过
                 django-admin建立项目是设置的。
'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'

 

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql',   # 数据库引擎

        'NAME': 'myapp',         # 你要存储数据的库名,事先要创建。

        'USER': 'root',         # 数据库用户名

        'PASSWORD': '1234',     # 密码

        'HOST': 'localhost',    # 默认主机

        'PORT': '3306',         # 数据库使用的端口

    }

}

#ENGINE设置为数据库后端使用,通过DATABASES项进行数据库设置
  • 'django.db.backends.postgresql'
  • 'django.db.backends.mysql'
  • 'django.db.backends.sqlite3'
  • 'django.db.backends.oracle'
注意:Django使用MySQL数据库需要加载 MySQLdb模块,需要安装 mysqlclient.

 

 

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 = 'en-us'
TIME_ZONE = 'UTC' #设置时区
USE_I18N = True #默认为True, 是否自动启动翻译
USE_L10N = True #默认为False, 以本地化格式显示数字时间
USE_TZ = True #默认值为True, 若使用了本地时间,必须设为False
STATIC_URL = '/static/' #静态文件存放地址

 

 

 

 


转载链接:https://blog.csdn.net/weixin_42134789/article/details/88134993

posted @ 2021-07-29 11:18  一笔一划82  阅读(55)  评论(0)    收藏  举报