数据库的配置:
一.mysql配置
- pip下载pymysql,用于mysql和django的连接。
- 在init.py上配置pymsqy。
import pymysqlpymysql.install_as_MySQLdb()
- 在setting文件配置mysql,为了信息不被暴露,我们将信息写在另一个文件中,在OPTIONS上写入这个文件路径即可。
[client]database = ****user = ****password = ****host = ****port = ****default-character-set = utf8
DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.mysql', # 数据库引擎 # 'NAME': '', # 数据库名称 # 'USER': '', # 数据库登录用户名 # 'PASSWORD': '', # 密码 # 'HOST': '', # 数据库主机IP,如保持默认,则为127.0.0.1 # 'PORT': 3306, # 数据库端口号,如保持默认,则为3306 # } 'default':{ 'ENGINE':'django.db.backends.mysql', 'OPTIONS':{ 'read_default_file': 'utils/dbs/my.cnf', }, }}
二、redis配置
- Ubuntu下安装redis,安装好后可输入redis-cli进入,来检测安装是否成功。
sudo apt-get install redis-server
- pip安装django_redis,用于django上操作redis。
pip install django_redis
- settings.py上的配置,这里我分配了三个db,
CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/0", #0表示第一个数据库 "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", } }, "verify_codes": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/1", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", } }, "session": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/2", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", } },}
- 测试redis是否配置成功:这里可以打开后台命令(python manage.py shell),输入以下代码。
from django.core.cache import cache #引入缓存模块cache.set('v', '555', 60*60) #写入key为v,值为555的缓存,有效期30分钟cache.has_key('v') #判断key为v是否存在cache.get('v') #获取key为v的缓存
三、日志配置
# 配置日志器,记录网站的日志信息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', 'filters': ['require_debug_true'], 'class': 'logging.StreamHandler', 'formatter': 'simple' }, 'file': { 'level': 'INFO', 'class': 'logging.handlers.RotatingFileHandler', 'filename': os.path.join(BASE_DIR, "logs/mylogs.log"), # 日志文件的位置 'maxBytes': 300 * 1024 * 1024, #一个文件的大小 'backupCount': 10, #最大的文件数,超过后会轮回覆盖 'formatter': 'verbose' }, }, 'loggers': { 'django': { # 定义了一个名为django的日志器 'handlers': ['console', 'file'], 'propagate': True, 'level': 'INFO', # 日志器接收的最低日志级别 }, }}