添加邮箱后端逻辑

1. 添加邮箱接口设计和定义

1.请求方式

选项 方案
请求方法 PUT
请求地址 /emails/

2.请求参数

参数名 类型 是否必传 说明
email string 邮箱

3.响应结果:JSON

字段 说明
code 状态码
errmsg 错误信息

2. 添加邮箱后端逻辑实现

import json
import re
from django import http
class EmailView(View):
    """添加邮箱"""

    def put(self, request):
        """实现添加邮箱逻辑"""
        # 接收参数
        json_dict = json.loads(request.body.decode())
        email = json_dict.get('email')

        # 校验参数
        if not email:
            return http.JsonResponse({'code': 400,
                                      'errmsg': '缺少email参数'})
        if not re.match(r'^[a-z0-9][\w\.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$', email):
            return http.JsonResponse({'code': 400,
                                      'errmsg': '参数email有误'})


            # 赋值email字段
        try:
            request.user.email = email
            request.user.save()
        except Exception as e:
            logger.error(e)
            return http.JsonResponse({'code': 400, 'errmsg': '添加邮箱失败'})

        # 响应添加邮箱结果
        return http.JsonResponse({'code':0, 'errmsg': '添加邮箱成功'})