三、配置settings
3.1常用设置
1.debug设置
DEBUG = true
在开发阶段将此设为True,项目上线后,将次设为false
2.settings添加渲染
在settings的第65行回车,将此命令复制进去'builtins': ['django.templatetags.static'],
注:这个地方一定要敲对,不然当后期网页渲染的时候,这个地方会进行报错
3.配置时区
# 修改语言
LANGUAGE_CODE = 'zh-hans'
# 修改时区
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
# utc 时间
USE_TZ = True
3.2数据库配置
1.创建新的数据库
进入mysql
create database first_por(数据库名) charset=utf8;
进入数据库
use first_por
2.创建用户
create user summer(用户名) identified by 'summer(密码)';
密码问题:https://blog.csdn.net/calistom/article/details/87939956
3.对用户进行授权
grant all on first_pro(数据库名).* to 'sumer(用户名)'@'%';
4.跟新授权
FLUSH PRIVILEGES;
5.在settings里配置数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'HOST':'127.0.0.1',
'POST':'3306',
'NAME':'数据库名',
'USER':'用户名',
'PASSWORD':'密码',
}
}
3.3数据库改进(安全性、交互性)
1.安全性
在根目录新建一个名为utils(随便取)的python包,然后在里面创建一个dbs的python包文件夹。其次在里面创建一个名为dbs.cnf的文件,里面写入
[client]
database = 数据库名
user = 用户名
password = 密码
host = 127.0.0.1
post = 3306
default-character-set = utf8
将settings里面原来的信息注释掉或者删除,再讲ENGING换成mysql引擎
'ENGINE': 'django.db.backends.mysql'
设置完成后,在注释下方写入下面的数据
'OPTIONS':{
'read_default_file':'utils/dbs/dbs.cnf'
}
2.交互性
点击界面右侧的database,选择Data Source选择mysql
然后General就可以输入你的数据库名,用户名和密码。
当然第一次下载是需要下载文件的,慢慢的等一等他。
3.4若需要redis,可以添加reids数据库
在# Password validation前面开始配置就行
# 配置redis 用处:保存重写数据,校验码,django的反存机制,静态页面
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
},
}
将上面这行代码输进去之后,你就需要安装一个依赖包,进入虚拟机输入:
pip install django-redis
3.5配置日志器
# 配置日志器,记录网站的日志信息
LOGGING = {
# 版本
'version': 1,
# 是否禁用已存在的日志器
'disable_existing_loggers': False, #不禁止已存在的日志器
'formatters': { #定义日志输出格式
'verbose': { # 指定复杂格式
'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'
},
'simple': { # 简单的格式
'format': '%(levelname)s %(module)s %(lineno)d %(message)s'
},
},
'filters': { # 过滤器
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': { # 处理器
'console': { # 终端
'level': 'DEBUG', # DEBUG级别以上都可以加入
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'file': { # 文件
'level': 'INFO',
'class': 'logging.handlers.RotatingFileHandler',
'filename': os.path.join(BASE_DIR, "logs/july.log"), # 日志文件的位置
'maxBytes': 300 * 1024 * 1024,
'backupCount': 10, # 保留文件个数
'formatter': 'verbose'
},
},
'loggers': {
'django': { # 定义了一个名为django的日志器
'handlers': ['console', 'file'],# 表示可以往终端和文件写入
'propagate': True,
'level': 'INFO', # 日志器接收的最低日志级别
},
}
}
以上你需要在根目录下创建一个名为log的文件夹,再来里面创建一个july.log(名字只需与上面相同即可)
'filename': os.path.join(BASE_DIR, "logs/july.log"), # 日志文件的位置
3.6新建static文件夹
1.新建
在根目录下创建一个static的文件夹,用来存储之后写的css、html与js文件。并将其指定为根目录(右击选择MARK DIR AS,选择蓝色的dir就可以)
2.配置
在settimngs的最后一行写入以下代码:
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static')
]
3.7配置mysql
此时运行程序会报错,说没有安装mysql客户端
pip install pymysql
然后在init.py
文件内写入下面的代码
import pymysql
pymysql.install_as_MySQLdb()