python关于Django搭建简单博客项目 详解二-setting.py

这一篇我们来讲解setting.py,具体内容以注释形式写入到下面的setting.py代码中,篇幅所限已把官方所给英文注释删除。

全部源代码和详解请参看http://github.com/Cheng0829/mysite

import os
#Python 使用os.path模块中的对象和方法,处理目录。该模块提供大量用于路径判断、切分、连接及遍历的方法。

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
#dirname命令去除文件名中的非目录部分,仅显示与目录有关的内容

SECRET_KEY = '@b$8i+!t0^3%k1-ui1^y!9-88g1lld!fus8wxa9$z)y#uql#24'
#安全警告:生产中使用的密匙保密

DEBUG = True

ALLOWED_HOSTS = []
#限定请求中的host值,以防止黑客构造包来发送请求。只有在列表中的host才能访问,host:主机

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
]
#已安装的app,当 django-admin startapp blog 后,需在此列表添加blog元素

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',
]
#middleware,意为中间件,是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通,
#特别是应用软件对于系统软件的集中的逻辑,在现代信息技术应用框架如Web服务、面向服务的体系结构等中应用比较广泛

ROOT_URLCONF = 'mysite.urls'
#URLconf 就像是 Django 所支撑网站的目录。 它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表。
# 你就是以这种方式告诉 Django,对于这个URL调用这段代码,对于那个 URL 调用那段代码。

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

WSGI_APPLICATION = 'mysite.wsgi.application'
#WSGI,全称Python Web Server Gateway Interface,意为PythonWeb服务器网关接口,是Python应用程序或框架和Web服务器之间的一种接口,
#WSGI 没有官方的实现, 因为WSGI更像一个协议. 只要遵照这些协议,WSGI应用(Application)都可以在任何服务器(Server)上运行。

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

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',#数字密码验证器,看密码是不是数字
    },
]
#密码验证程序


#django支持文本翻译,修改日期,时间和数字格式,以及时区:

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True #国际化,变量为true则支持翻译

USE_L10N = True #国际化,变量为true则支持修改格式

USE_TZ = True  #国际化,变量为true则支持修改TIME_ZONE

STATIC_URL = '/static/'
#这个static是在blog应用下建立的static目录,用来存放静态资源,支持CSS,JavaScript,Images语言。

全部源代码和详解请参看http://github.com/Cheng0829/mysite

posted @ 2022-06-08 19:27  CJK'sBLOG  阅读(41)  评论(0编辑  收藏  举报