八. Django项目之电商购物商城 -- 添加邮箱

简介: 八. Django项目之电商购物商城 -- 添加邮箱

Django项目之电商购物商城 – 添加邮箱

一. 用户中心

添加邮箱功能在用户中心中 , 先完善用户中心功能

1. 视图

# 用户中心
class UserInfoCenterView(LoginRequiredMixin,View):
    def get(self , request):
        context = {
            'username' : request.user.username,
            'mobile' : request.user.mobile,
            'email' : request.user.email,
        }
        return render(request , 'user_center_info.html' ,context)

2. 路由

# 用户中心
    path('user_info_center/' , views.UserInfoCenterView.as_view() , name = "user_center"),

二. 添加邮箱

保存邮箱是通过发送put请求 , url为email

1.创建新的视图用于获取email , 以及保存

改写LoginRequiredMixin – 其返回对象为HttpResponse类型 , 无法返回JsonResponse
from django.contrib.auth.mixins import LoginRequiredMixin
from django.http import JsonResponse
from utils.response_code import RETCODE
class LoginRequiredMixinJosn(LoginRequiredMixin):
    def handle_no_permission(self):
        return JsonResponse({
            'code':RETCODE.SESSIONERR,
            'errmsg':"用户未登录"
        })
创建email视图
class EmailView(LoginRequiredMixinJosn,View):
    def put(self , request):
      #put请求的信息保存在body中
        email_json = json.loads(request.body.decode())
        email = email_json.get('email')
        print(email)
        # 校验数据
        if not re.match(r'^[a-z0-9][\w\.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$',email):
            return HttpResponseForbidden("邮箱参数有误")
        # 保存邮箱
        request.user.email = email_json
        request.user.save()
        return HttpResponse({
            'code':RETCODE.OK,
            'errmsg' :'OK'
        })
创建路由
# 邮箱保存
    path('email/' , views.EmailView.as_view() ),


相关文章
|
2月前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
123 22
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
2月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
107 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
2月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
93 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
2月前
|
Linux Python
解决django项目报错很离谱的报错之RuntimeError: populate() isn't reentrant
解决django项目报错很离谱的报错之RuntimeError: populate() isn't reentrant
|
2月前
|
机器学习/深度学习 人工智能 算法
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台。果蔬识别系统,本系统使用Python作为主要开发语言,通过收集了12种常见的水果和蔬菜('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜'),然后基于TensorFlow库搭建CNN卷积神经网络算法模型,然后对数据集进行训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地文件方便后期调用。再使用Django框架搭建Web网页平台操作界面,实现用户上传一张果蔬图片识别其名称。
56 0
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
3月前
|
JSON API 数据安全/隐私保护
Django 后端架构开发:JWT 项目实践与Drf版本控制
Django 后端架构开发:JWT 项目实践与Drf版本控制
71 0
|
3月前
|
存储 前端开发 Serverless
中后台前端开发问题之Django项目中接收和处理用户的抽奖请求如何解决
中后台前端开发问题之Django项目中接收和处理用户的抽奖请求如何解决
20 0
|
应用服务中间件 nginx Python
Django项目部署
环境 django == 1.11.16 nginx == 1.10.3 项目编写 略 安装nginx 略(前一篇有详细介绍) 配置uwsgi 创建 xxx.ini 文件 [uwsgi] socket=:9000 # 端口 chdir=/mnt/project/project_api # 项目路径 包含manage.
|
Ubuntu 应用服务中间件 nginx
Django项目部署
一、Nginx+uWSGI+Django部署生产环境 原理 为什么还要Nginx Django有个runserver直接起了一个WebServer,为什么还要Nginx起一个WebServer呢? Nginx的性能比Django自带的WebServe...
4490 0
|
关系型数据库 MySQL 应用服务中间件
一学就会的django项目服务器部署nginx-uwsgi-django/build
一、前言 需要在阿里云服务器部署Django-restframework框架,一开始不清楚情况,网上找了很多的文章和办法,东拼西凑也没有能够完全实现nginx和uwsgi的互通。
4086 1
下一篇
无影云桌面