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应用都应该遵守的架构设计指导原则
    – 是面向资源的, 对同一个资源的一组不同的操作
宝塔是一款Linux服务器管理软件,用于简化服务器管理和应用部署。部署Django前后端分离项目的步骤如下: 1. **安装环境**: - 确保宝塔已安装Python、Nginx和MySQL等基础服务。 - 需要安装Django框架以及前端所需的Node.js和npm。 2. **创建新站点**: - 登录宝塔控制面板,在"网站管理"或者"应用"模块里点击“添加”创建一个新的Web应用,指定项目路径。 3. **配置域名和SSL**: - 绑定你的域名到宝塔提供的IP地址,并配置SSL证书,保证安全访问。 4. **设置静态文件处理**: - 在Nginx的配置中启用反向代理,例如将`/static`和`/media`目录指向你的Django项目的对应位置,可以使用`.htaccess`文件或nginx的location指令。 5. **Django项目部署**: - 将Django项目打包成.wsgi文件或使用uwsgi启动,这个文件通常放在项目的根目录下。 - 在宝塔的Nginx配置里添加对.wsgi文件的访问规则。 6. **数据库配置**: - 如果有数据库操作,需要在Django项目settings.py中配置数据库连接信息,包括引擎、主机、用户名、密码等。 7. **迁移和运行**: - 进入项目目录,执行`python manage.py migrate`进行数据库迁移。 - 启动Django应用:`python manage.py runserver` (仅限本地测试) 或者 `gunicorn your_project_name:application` (生产环境). 8. **前端部署**: - 使用Git或其他版本控制系统将前端代码推送到服务器相应目录,如public或者dist。 9. **监控和日志**: - 安装并配置好监控工具,以便了解应用性能和日志情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值