Django(五)前后分离及日志

日志logging

  • 四个组成:
    – loggers: 用来处理传入的信息
    – handlers: 用来处理信息的
    – filters: 过滤loggers传递给handlers的信息, 加一些处理控制
    – formatters: 格式化, 将我们需要保存到日志文件中的信息进行统一格式化
  • 错误等级:
    – CRITICAL>ERROR>WARNING>INFO>DEBUG
    – critical: 重大的bug
    – error: 系统里面有错误
    – warning: 警告
    – info: 正常
    – debug: 调试信息
  • 在setting.py中的代码设置如下:
# 创建日志的路径
LOG_PATH = os.path.join(BASE_DIR, 'log')
# 如果地址不存在, 则自动创建log文件夹
if not os.path.isdir(LOG_PATH):
    os.mkdir(LOG_PATH)
LOGGING = {
    'version': 1,   # version 只能为1
    'disable_exisiting_loggers': False,  # True表示禁用loggers
    # 格式化
    'formatters':{
        'default':{
            'format':'%(levelname)s %(funcName)s %(asctime)s %(message)s'
        },
        'simple':{
            'format':'%(levelname)s %(module)s %(created)s %(message)s'
        }
    },
    'handlers':{
        'stu_handlers':{
            'level':'DEBUG',
            # 日志文件指定为5M, 超过5M重新备份, 然后写入新的日志文件
            'class': 'logging.handlers.RotatingFileHandler',
            # 1M=1024Kb 1Kb = 1024b
            'maxBytes': 5 * 1024 * 1024,
            # 文件地址
            'filename': '%s/log.txt' % LOG_PATH,
            'formatter':'default',
        },
        'uauth_handlers':{
            'level': 'DEBUG',
            # 日志文件指定为5M, 超过5M重新备份, 然后写入新的日志文件
            'class': 'logging.handlers.RotatingFileHandler',
            # 1M=1024Kb 1Kb = 1024b
            'maxBytes': 5 * 1024 * 1024,
            # 文件地址
            'filename': '%s/uauth_log.txt' % LOG_PATH,
            'formatter': 'simple',
        }
    },
    'loggers':{
        'stu':{
            'handlers':['stu_handlers'],
            'level': 'INFO'
        },
        'auth':{
            'handlers':['uauth_handlers'],
            'level': 'INFO'
        }
    },
    'filters':{
    }
}
  • 在uauth项目的views.py文件中设置代码如下:
import logging
logger = logging.getLogger('auth')

# Create your views here.
from uauth.models import Users


def regist(request):
    logger.info('url: %s method:%s 获取学生信息成功' % (request.path, request.method))
    if request.method == 'GET':

        return render(request, 'day6_regist.html')

    if request.method == 'POST':
        # 注册

        name = request.POST.get('name')
        password = request.POST.get('password')
        password = make_password(password)

        Users.objects.create(
            u_name = name,
            u_password = password
        )

        return HttpResponseRedirect('/uauth/login/')

前后分离

  • 前端: vue
  • 后端: restframework

  • 什么是restful风格:
    – 只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

  • 什么是rest:
    – REST是所有Web应用都应该遵守的架构设计指导原则
    – 是面向资源的, 对同一个资源的一组不同的操作

猜你喜欢

转载自blog.csdn.net/qq_41637554/article/details/80199534
今日推荐