2.6 本章小结
项目配置是根据实际开发需求从而对整个Web框架编写相关配置信息。配置信息主要由项目的settings.py实现,主要配置有项目路径、密钥配置、域名访问权限、App列表、配置静态资源、配置模板文件、数据库配置、中间件和缓存配置。
当DEBUG为True并且ALLOWED_HOSTS为空时,项目只允许以localhost或127.0.0.1在浏览器上访问。当DEBUG为False时,ALLOWED_HOSTS为必填项,否则程序无法启动,如果想允许所有域名访问,可设置ALLOW_HOSTS=['*']。
App列表INSTALLED_APPS的各个功能说明如下。
• admin:内置的后台管理系统。
• auth:内置的用户认证系统。
• contenttypes:记录项目中所有model元数据(Django的ORM框架)。
• sessions:Session会话功能,用于标识当前访问网站的用户身份,记录相关用户信息。
• messages:消息提示功能。
• staticfiles:查找静态资源路径。
配置静态资源需要了解属性STATIC_URL和STATICFILES_DIRS的区别,两者区别如下。
• STATIC_URL是必须配置的属性而且属性值不能为空。如果没有配置STATICFILES_DIRS,则STATIC_URL只能识别App里的static静态资源文件夹。
• STATICFILES_DIRS是可选配置属性,属性值为列表或元组格式,每个列表(元组)元素代表一个静态资源文件夹,这些文件夹可自行命名。
• 在浏览器上访问项目的静态资源时,无论项目的静态资源文件夹是如何命名的,在浏览器上,静态资源的上级目录必须为static,而static是STATIC_URL的属性值,因为STATIC_URL也是静态资源的起始URL。
模板信息是以列表格式呈现的,每个元素具有不同的含义,其含义说明如下。
• BACKEND:定义模板引擎,用于识别模板里面的变量和指令。内置的模板引擎有DjangoTemplates和jinja2.Jinja2,每个模板引擎都有自己的变量和指令语法。
• DIRS:设置模板所在路径,告诉Django在哪个地方查找模板的位置,默认为空列表。
• APP_DIRS:是否在App里查找模板文件。
• OPTIONS:用于填充在RequestContext中上下文的调用函数,一般情况下不做任何修改。
Django配置MySQL数据库连接信息:
中间件由属性MIDDLEWARE完成配置,属性MIDDLEWARE的数据格式为列表类型,每个中间件的设置顺序是固定的,如果随意变更中间件很容易导致程序异常。