三. Django项目之电商购物商城 -- 校验用户名 , 数据入库

server/2024/9/24 21:29:52/

Django项目之电商购物商城 – 校验用户名 , 数据入库

需要开发文档和前端资料的可私聊

一. 路由匹配获得用户名

在注册时 , 用户输入用户名 , 通过ajax请求发送到服务器 , 在路由中设置对应url , 响应视图 , 将用户输入的用户名传入视图 , 与数据库进行校验检查用户名是否重复
在这里插入图片描述

二. 创建路由 , 匹配用户输入的用户名 , 进行路由校验

# 使用正则匹配js发送到的ajax请求 -- '/username/'+ this.username +'/count/'获得username , 进行路由检验path('^username/(?P<username>[A-Za-z0-9_]{5,15})/count/$' , views.UsernameCount.as_view()) ,

三. 创建视图 , 进行后端校验

在这里插入图片描述

分析js组成 , ajax请求为get , 校验用户名的方式是通过后端传入的count是否等于1 ( 在视图中 , 通过数据库查询 , 返回查询到用户名的数量 , 如果用户名已经重复 , 则返回1, 如果未重复查询不到 , 返回0 )

class UsernameCount(View):def get(self , request , username):# 获得查询后的用户名数量count = User.objects.filter(username=username).count()return JsonResponse({'code':200  , 'errmsg':'OK' , 'count':count})

四. 将用户数据保存入mysql数据库

    def post(self , request):# 将用户数据传入forms组件进行校验register_forms = RegisterForms(request.POST)if register_forms.is_valid():# 注册信息无误username = register_forms.cleaned_data.get('username')password = register_forms.cleaned_data.get('password')mobile = register_forms.cleaned_data.get('mobile')# 保存用户数据入库User.objects.create_user(username=username , password=password , mobile = mobile)

下节介绍图片验证码以及短信验证码的实现


http://www.ppmy.cn/server/28751.html

相关文章

通信接口——时钟和信号

前言 所有接口只要抓住三个核心点就能分清&#xff1a;时钟同步和异步&#xff0c;时钟的来源&#xff0c;信号的传输方向。 一、时钟同步和异步 接口之间的交互方式存在多种形式&#xff0c;如果按照是否有公共时钟CLK的参与&#xff0c;可以分为同步传输和异步传输。 同步&…

数据结构-简单队列

1.简介 队列为一个有序列表&#xff0c;可以用数组或链表来实现。 先进先出原则。先存入队列的数据先取出&#xff0c;后存进队列的数据后取出。 这里对比一下&#xff0c;栈是后来者居上 下面使用数组来模拟队列&#xff0c;用数组的结构来存储队列的数据&#xff1a; Que…

【论文阅读】互连网络的负载平衡路由算法 (CQR, Channel Queue Routing 通道队列路由)

Channel Queue Routing (CQR) 通道队列路由 1. Channel Queue Routing (CQR) 的动机 (1) 排队论(queueing theory)模型(2) GAL’s latency on tornado traffic(3) Routing tornado traffic with CQR 2. Channel Queue Routing 通道队列路由3. CQR 的性能4. 总结 Channel Queu…

Fast-DetectGPT 无需训练的快速文本检测

本文提出了一种新的文本检测方法 ——Fast-DetectGPT&#xff0c;无需训练&#xff0c;直接使用开源小语言模型检测各种大语言模型&#xff0c;如GPT等生成的文本内容。 Fast-DetectGPT 将检测速度提高了 340 倍&#xff0c;将检测准确率相对提升了 75%&#xff0c;超过商用系…

上市企业数字赋能指数数据集-2001到2022年(TF-IDF)

01、数据简介 上市公司数字赋能指数是一个用来衡量上市公司利用数字技术提高业务能力和效率的指标。这个指数反映了上市公司利用大数据、云计算和人工智能等数字技术&#xff0c;高效地利用商业资源和信息&#xff0c;并扩展供应关系的能力。市公司数字赋能指数是一种综合性的…

搭建vue3组件库(三): CSS架构之BEM

文章目录 1. 通过 JS 生成 BEM 规范名称1.1 初始化 hooks 目录1.2 创建 BEM 命名空间函数1.3 通过 SCSS 生成 BEM 规范样式 2. 测试 BEM 规范 BEM 是由 Yandex 团队提出的一种 CSS 命名方法论&#xff0c;即 Block&#xff08;块&#xff09;、Element&#xff08;元素&#xf…

什么是RabbitMQ,RabbitMQ基本概念,RabbitMQ的使用场景

目录 面试官:什么是RabbitMQ,RabbitMQ的使用场景什么是RabbitMQ?RabbitMQ基本概念RabbitMQ的使用场景举例该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:什么是RabbitMQ,RabbitMQ的使用场景 …

OpenHarmony实战开发-动画曲线、如何实现动画衔接

UI界面除了运行动画之外&#xff0c;还承载着与用户进行实时交互的功能。当用户行为根据意图变化发生改变时&#xff0c;UI界面应做到即时响应。例如用户在应用启动过程中&#xff0c;上滑退出&#xff0c;那么启动动画应该立即过渡到退出动画&#xff0c;而不应该等启动动画完…