Django配置信息

配置信息主要由项目的settings.py实现,主要配置有项目路径、密钥配置、域名访问权限、App列表、配置静态资源、配置模板文件、数据库配置、中间件和缓存配置

当DEBUG为True且ALLOWED_HOSTS为空时,项目只允许以localhost或127.0.0.1在浏览器上访问。当DEBUG为False时,ALLOWED_HOSTS为必填项,否则程序无法启动,如果想允许所有域名访问,那么可设置ALLOWED_HOSTS=['*']

App列表INSTALLED_APPS的各个功能说明如下:

admin:内置的后台管理系统
auth:内置的用户认证系统
contenttypes:记录项目中所有model元数据(Django的ORM框架)
sessions:Session会话功能,用户标识当前访问网站的用户身份,记录相关用户信息
messages:消息提示功能
staticfiles:查找静态资源路径

资源文件配置分为静态资源和媒体资源。静态资源指的是网站中不会改变的文件。在一般的应用程序中,静态资源包括CSS文件、JavaScript文件及图片等资源文件;媒体资源事指经常变动的资源,通常将其存放在媒体资源文件夹,如用户头像、歌曲文件等。

静态资源的配置属性包括:STATIC_URL、STATICFILES_DIRS、STATIC_ROOT,三者说明如下:

STATIC_URL:设置静态资源的路由地址
STATICFILES_DIRS:将项目里自定义的静态资源文件夹绑定到Django里
STATIC_ROOT:收集整个项目的静态资源并存放在一个新的文件夹,然后由该文件夹与服务器之间构建映射关系

媒体资源的配置属性包括:MEDIA_URL_和MEDIA_ROOT,说明如下:

MEDIA_URL:设置媒体资源的路由地址
MEDIA_ROOT:获取项目里自定义的媒体资源文件的文件路径

模板信息是以列表格式呈现的,每个元素巨有不同的含义,其含义说明如下:

BACKEND:定义模板引擎,用于识别模板里面的变量和指令。内置的模板引擎由DjangoTemplates和jinja2.Jinja2,每个模板引擎都有自己的变量和指令语法
DIRS:设置模板所在的路径,告诉Django在哪个地方查找模板的位置,默认为空列表
APP_DIRS:是否在App里面查找模板文件
OPTIONS:用于填充在RequestContext的上下文(模板里面的变量和指令),一般情况下不做任何情况

Django可以选择不同的模板连接MySQL,但配置信息是固定的写法,如下所示:

DATABASES = {
    'default': {
        'ENGINE':'django.db.backends.mysql',
        'NAME':'djangodb',
        'USER':'root',
        'PASSWORD':'',
        'HOST':'127.0.0.1',
        'PORT':'3306',
    }
}

中间件由属性MIDDLEWARE完成配置,属性MIDDLEWARE的数据格式为列表类型,每个中间件的设置顺序是固定的,如果随意变更中间件,就很容易导致程序异常。