settings.py文件中主要的配置变量说明如下。
1.BASE_DIR
BASE_DIR变量设置项目在系统中的实际路径。
2.SECRET_KEY
SECRET_KEY变量值是自动生成的一个随机数,用于重要数据的加密处理,如用户密码、CSRF机制、Session会话等数据的加密。在部署项目时,应妥善保管SECRET_KEY,避免泄密。
3.DEBUG和ALLOWED_HOSTS
DEBUG变量值默认为True,表示项目处于调试模式,即开发阶段。项目完成进行部署时,应将其设置为False。
ALLOWED_HOSTS变量为可访问项目Web站点的域名,默认为空。当DEBUG变量值为True,且ALLOWED_HOSTS变量值为空时,只允许用localhost或127.0.0.1访问项目Web站点。在部署项目时,DEBUG变量值为False,此时必须设置ALLOWED_HOSTS,否则项目将无法启动。例如,可设置ALLOWED_HOSTS=['*'],允许所有域名访问。
4.INSTALLED_APPS
INSTALLED_APPS变量用于注册在项目中使用的应用,默认包含了Django内置的部分应用。
django.contrib.admin:用于网站后台数据管理。
django.contrib.auth:用于用户认证。
django.contrib.contenttype:用于管理项目中的应用和模型信息。
django.contrib.sessions:用于会话(Session)控制。
django.contrib.messages:用于消息框架。
django.contrib.staticfiles:用于静态文件管理
5.MIDDLEWARE
MIDDLEWARE变量用于注册在项目中使用的中间件。
6.ROOT_URLCONF
ROOT_URLCONF变量设置项目的根URL配置模块,示例代码如下。
ROOT_URLCONF= 'myDjango.urls'
表示使用项目中myDjango文件夹下的urls.py文件作为项目的根URL配置模块。
7.TEMPLATES
TEMPLATES变量配置项目使用的模板。本书将在第6章详细讲解模板的相关内容。
8.WSGI_APPLICATION
WSGI_APPLICATION变量设置项目运行在WSGI兼容的Web服务器的接口程序。
9.DATABASES
DATABASES变量设置数据库的相关配置。Django项目默认使用SQLite数据库。项目启动后,Django会在项目根目录中创建一个名为db.sqlite3的数据库。
10.AUTH_PASSWORD_VALIDATORS
AUTH_PASSWORD_VALIDATORS变量设置授权的密码校验器。
11.LANGUAGE_CODE
LANGUAGE_CODE变量设置项目语言。
12.TIME_ZONE和USE_TZ
TIME_ZONE变量设置项目时区。USE_TZ变量值设置为True时,时区设置才有效。
13.USE_I18N
USE_I18N变量值默认为True,表示支持国际化。如果不需要该功能,应将其设置为False。
14.USE_L10N
USE_L10N变量值默认为True,表示支持格式本地化。