Django(1)-简介
Django(2)-创建项目及默认项目目录结构介绍
Django(3)-配置文件详解
Django(4)-URL和视图
Django(5)-路由配置实例
Django(6)-请求及响应
Django(7)-Get请求和Post请求
Django(8)-设计模式
Django(9)-模板层简介与入门实例
Django(10)-模板层的变量和标签
Django(11)-模板层的过滤器和继承
Django(12)-url反向解析
Django(13)-静态文件
Django(14)-应用及分布式路由
Django(15)-模型层及ORM介绍
Django(16)-ORM基础字段及选项
Django(17)-ORM创建数据
Django(18)-ORM常用的查询函数详解及实例演示
Django(19)-ORM条件查询
Django(20)-ORM更新操作及实例演示
Django(21)-ORM删除操作及实例演示
Django(22)-ORM中F对象和Q对象
Django(23)-ORM聚合查询和原生数据库操作
Django(24)-admin后台管理设置步骤以及常见样式详解
Django实战技巧(1)-开发测试生产环境配置切换处理技巧
Django实战技巧(2)-git代码仓分支管理技巧
Django实战技巧(3)-项目配置
1、简介:
- setings.py 包含了Django项目启动的所有配置项
- 配置项分为共有配置和自定义配置
- 配置项格式例如:BASE_DIR=‘xxx’
- 公有配置:Django官方提供的基础配置
2、BASE_DIR
默认设置为当前文件路名的上一层,再上一层目录,在这里即项目目录mysite1目录
BASE_DIR = Path(__file__).resolve().parent.parent
3、DEBUG
默认设置为True,在生产环境中不能设置为True,适合在开发环境中,当开启debug的时候如果代码发生变更,则django服务器会自动更新,不需要重新启动django,此外,当代码中发生错误时,在django运行的web页面会提供非常丰富的错误提示信息,非常方便问题定位,比如这里我们去访问一个不存在的url http://127.0.0.1:8080/hello,会出现如下报错:
DEBUG = True
当把Debug设置为False,然后重启django项目的时候,会出现如下提示:
这里先给ALLOWED_HOSTS参数给配置上“127.0.0.1”,先来测试一下DEBUG设置为False时的状况
此时继续去访问不存在的 http://127.0.0.1:8080/hello地址,页面提示信息就非常简单的了,如下:所以说在生产环境上是不能打开DEBUG的,否则用户可以根据错误信息得到很多后台的信息,这样后台就会很容易被不良用户攻击或者破坏
4、ALLOWED_HOSTS
这个字段是用来限制发送过来的请求报文中Host字段值的,这里在DEBUG设置为True,ALLOWED_HOSTS字段先不填,重启django项目,然后在浏览器打开F12抓包界面,再次刷新页面,可以看到请求报文中有一个Host字段,其值为“127.0.0.1:8080”
即此时是可以访问的,下面来做一个试验,比如这里在ALLOWED_HOSTS中设置本机的ip地址
此时再去刷新一下页面,
此时页面已经报错了,这里因为是DEBUG模式,所以能看到错误提示:
You may need to add '127.0.0.1' to ALLOWED_HOSTS
当然如果出现类似上面的错误,则按照提示将其ip增加到ALLOWED_HOSTS变量即可
在后期部署的时候,通常ALLOWED_HOSTS里设置的是域名,比如www.baidu.com,因为在正式的网站中,大家访问的时候一般都是通过域名访问的,而不是直接使用iip地址访问
5、INSTALLED_APPS
这个是设置django中app应用的,这里默认自带了如下应用,类似一个插件一样,可以将一个应用加载进来
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
6、MIDDLEWARE
这个也是django的一个设置中间件的高级应用,待后续中间件的详细使用中介绍
7、ROOT_URLCONF
这个配置配置了主路由的路径,这个配置一般来说不需要修改
8、TEMPLATES
模板配置,后续在编写html等前端页面的时候需要在此处做对应的相关配置
9、WSGI_APPLICATION
这个配置是配置web网关服务器接口的配置,这里暂时不需要修改
10、DATABASES
数据库配置,这里默认配置了sqlite3,在目录结构中当项目启动后生成的db.sqlite3文件就是根据这个配置生成的,这里可以设置自己需要使用的数据库配置,从而做到django对各种数据库的支持
11、AUTH_PASSWORD_VALIDATORS
这个密码校验配置,这里先暂时不去关注
12、LANGUAGE_CODE
这个配置语言,默认的是英文,这里可以修改为中文
#LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-Hans'
此时页面已经是中文了
13、TIME_ZONE
这个参数是设置时区,默认的UTC,在中国时区是东八区,可以设置为上海
#TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'
14、STATIC_URL
后续待开发页面的时候设计静态资源的时候需要关注此参数