# Django-Vue 项目开发-2

燕星鹏
2023-12-01

Django-Vue 项目开发-2



前言

此项目的第二个小结,主要是

一、django 日志配置

1.日志配置

在settings/dev.py文件中追加如下配置:

# 日志配置
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(os.path.dirname(BASE_DIR), "logs/campusapi.log"),
            # 日志文件的最大值,这里我们设置300M
            'maxBytes': 300 * 1024 * 1024,
            # 日志文件的数量,设置最大日志数量为10
            'backupCount': 10,
            # 日志格式:详细格式
            'formatter': 'verbose'
        },
    },
    # 日志对象
    'loggers': {
        'django': {
            'handlers': ['console', 'file'],
            'propagate': True, # 是否让日志信息继续冒泡给其他的日志处理系统
        },
    }
}

2.异常处理

新建utils/exceptions.py

from rest_framework.views import exception_handler

from django.db import DatabaseError
from rest_framework.response import Response
from rest_framework import status

import logging
logger = logging.getLogger('django')


def custom_exception_handler(exc, context):
    """
    自定义异常处理
    :param exc: 异常类
    :param context: 抛出异常的上下文
    :return: Response响应对象
    """
    # 调用drf框架原生的异常处理方法
    response = exception_handler(exc, context)

    if response is None:
        view = context['view']
        if isinstance(exc, DatabaseError):
            # 数据库异常
            logger.error('[%s] %s' % (view, exc))
            response = Response({'message': '服务器内部错误'}, status=status.HTTP_507_INSUFFICIENT_STORAGE)

    return response

settings.py配置文件中添加

REST_FRAMEWORK = {
    # 异常处理
    'EXCEPTION_HANDLER': 'luffyapi.utils.exceptions.custom_exception_handler',
}

注意:这里面涉及到到了一个模块rest_framework,这个不能用pip installl rest_framework,因为这个模块应该是pip install djangorestframework

3.数据库链接配置

Django项目中有一个配套的数据库sqllite,用来做轻量级的程序还是不错的,但是我还是选择了mysql.这样的话要修改原来的配置。

打开settings/dev.py文件,并配置

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.mysql",
        "HOST": "127.0.0.1",
        "PORT": 3306,
        "USER": "XXXX",
        "PASSWORD": "XXX",
        "NAME": "XXX",
    }
}

在python 项目中要使用mysql 很重要的一个库就是pymysql,我们也要配置一下这个库
在项目主模块的 __init__.py中导入pymysql

import pymysql

pymysql.install_as_MySQLdb()

二、vue项目

1.主页面创建

创建home组件

<template>
  <div id="home">
    前端首页
  </div>
</template>
<script>
  export default {
      name:"Home",
      data(){
          return {
              
          }
      }
  }
</script>

<style scoped>

</style>

路由注册
打开routers/index.js添加

import Home from "../components/Home"
  routes:[
    // 路由列表
     {
       name:"Home",
       path:"/",
       component:Home,
     },
      {
       name:"Home",
       path:"/home",
       component:Home,
     },
   ]

2.初始化全局变量,和全局方法。

在src目录下创建settings.js站点开发配置文件:

export default {
  Host:"http://127.0.0.1",
}

在main.js中引入

import settings from "./settings"
// Vue.config.productionTip = false;
Vue.prototype.$settings = settings;

3.引入ElementUI

下载模块

npm i element-ui -S

在main.js中导入ElementUI,并调用

// elementUI 导入
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
// 调用插件
Vue.use(ElementUI);

总结

今天还是一些基础的配置吧,接下来就是进行正常开发了。在以后的遇到问题我还会持续的进行更x新。

 类似资料: