settings配置数据库和日志

数据库的配置:

一.mysql配置

  • pip下载pymysql,用于mysql和django的连接。
  • 在init.py上配置pymsqy。
import pymysql

pymysql.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',  # 日志器接收的最低日志级别
        },
    }
}

 

posted @ 2019-01-19 15:59  龙~白  阅读(570)  评论(0编辑  收藏  举报