以Django项目my_site为例,创建Django项目时,会在项目文件夹my_site内生成一个同名文件夹my_site,其中主要为项目的相关配置文件,暂且把该文件夹称为项目的配置文件夹简称配置文件夹。配置文件夹内的settings.py文件,包含了一部分常用到的Django项目配置,包括:
1、DEBUG :该项为一个布尔类型的值,通过设置为True或者False来开启或者关闭调试模式。如果设置为True,项目抛出未被捕获的异常信息时,会显示详细的错误页面。需要注意的是,一定要在项目移植到生产环境时将该项设置为False,否则可能会泄露项目的重要信息,影响项目安全,默认如下图所示:
2、ALLOWED_HOSTS :在调试模式或者运行测试时,不需要做任何操作。而在项目移植到生产环境并且关闭调试模式时,需要将生产环境的域名或者主机名添加至此处,以便于在生产环境上运行Django项目,默认如下图所示:

3、INSTALLED_APPS :该项用来包含需要在项目中启用的应用,比如自己编写的应用或者引入的第三方引用,虽然该项配置非必须,但是为了Django能够自动查找到模板、静态文件、数据库更改说明文件等,建议将应用添加至此。默认如下图所示:
其中:

①django.contrib.admin :Django内置的管理平台
②django.contrib.auth :Django内置的认证框架
③django.contrib.contenttypes :Django内置的用于构建所有基于Django提供的model的模型间的通用关系的框架
④django.contrib.sessions :Django内置的会话框架
⑤django.contrib.messages :Django内置的消息框架
⑥django.contrib.staticfiles :Django内置的用来管理诸如CSS、JS、图片等静态文件的框架
4、MIDDLEWARE :项目中用到的中间件,个人习惯称呼为组件,觉得像积木一样,拿来用主义。默认如下图所示:
其中:
①SecurityMiddleware : Django内置的安全组件
②SessionMiddleware : Django内置的会话组件
③CommonMiddleware :Django内置的通用组件
④CsrfViewMiddleware :Django内置的用于抵御Cross-Site Request Forgery攻击的组件
5、ROOT_URLCONF : 定义URL匹配规则的文件,默认为项目配置文件夹中的urls.py,以my_site项目为例,默认如下图所示:
6、DATABASES :该项为项目中用到的数据库的配置信息,必须有一个默认的数据库,Django自带的为SQLite3,默认如下图所示:
7、LANGUAGE_CODE :设置项目默认的语言,默认情况下为英文(en-Us)。若要把语言设置为中文,则只需把该值设置为zh-Hans即可,默认如下图所示:
8、USE_TZ :该项用来配置是否启用timezone支持,默认为True
9、SECRET_KEY :该项为自动生成的值,用来进行hashing、tokens或者加密等相关操作。例如cookie存在一个session,此时修改了SECRET_KEY的值,session将失效,所以不要将该项的值随意分享给别人
10、TEMPLATES :该项为项目模板的相关配置,默认如下图所示:
其中:
①BACKEND :该项为Django内置的模板引擎配置,其本质是Django用来操作HTML的API,Django内置的有Jinja2和DjangoTemplates两个模板引擎,其默认的为DjangoTemplates,如果需要也可以修改为第三方的模板引擎
②DIRS :该项用来配置Django按照顺序查找模板文件的位置
③APP_DIRS :默认为True,该项用来通知Django是否在INSTALLED_APPS中定义的应用内进行查找
④OPTIONS :该项为模板引擎的相关配置,默认为Python代码与HTML交互创建或者渲染动态HTML模板的context processors的相关配置
11、BASE_DIR :该项为项目文件夹的所在位置
该文章作为学习笔记进行分享和记录,如有错误或其它观点,请多多指教!
!
!