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

ops/2024/11/14 3:10:49/

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/ops/29639.html

相关文章

React和antd如何封装权限按钮

在React和Ant Design(antd)中封装一个权限按钮涉及到两个主要步骤: 权限判断:首先,你需要有一个权限管理系统来存储和检查用户的权限。这通常是通过API从服务器获取用户权限,然后将其保存在应用的状态中。 封装按钮组件:基于用户的权限,你可以封装一个React组件,这个…

Android system — 链接器命名空间共享库配置方法(Android 11后)

Android system — 链接器命名空间共享库配置方法 1. 应用进程1.1 应用进程类加载器的命名空间初始化1.1.1 OpenNativeLibrary1.1.2 LibraryNamespaces::Create 1.2 配置共享库位置 2. native进程2.1 native 命名空间配置初始化2.1.1 android_namespace_t::is_accessible2.1.2 …

江苏省建设工程专业技术资格条件

江苏省建设工程专业技术资格条件评审文件链接江苏省人力资源和社会保障厅 人才人事 省专业技术人员职称&#xff08;职业资格&#xff09;工作领导小组 关于印发《江苏省建设工程专业技术资格条件&#xff08;试行&#xff09;》的通知评审工作的通知江苏省人力资源和社会保障厅…

【百度Apollo】探索自动驾驶:小白教学如何使用 Dreamview 播放数据包

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《linux深造日志》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 引入一、Dreamview 简介二、使用 Dreamview 具体步骤步骤一&#xff1a;进入 Apollo Docker 环境步骤二&#xff…

【Spring AI】08. 输出解析器

文章目录 Output ParsersAPI 概述OutputParser 可用实现示例用法 Output Parsers OutputParser接口允许您获取结构化输出&#xff0c;例如将输出映射到 Java 类或从 AI 模型的基于字符串的输出中获取值数组。 您可以将其类比为 Spring JDBC 概念中的RowMapper或ResultSetExtra…

【docker】maven 打包docker的插件学习

docker-maven-plugin GitHub地址&#xff1a;https://github.com/spotify/docker-maven-plugin 您可以使用此插件创建一个 Docker 映像&#xff0c;其中包含从 Maven 项目构建的工件。例如&#xff0c;Java 服务的构建过程可以输出运行该服务的 Docker 映像。 该插件是 Spot…

【区块链】共识算法简介

共识算法简介 区块链三要素&#xff1a; 去中心化共识算法智能合约 共识算法作为区块链三大核心技术之一&#xff0c;其重要性不言而喻。今天就来简单介绍共识算法的基本知识。 最简单的解释&#xff0c;共识算法就是要让所有节点达成共识&#xff0c;保证少数服从多数&#x…

PostgreSQL自带的命令行工具02- createdb

PostgreSQL自带的命令行工具02- createdb 基础信息 OS版本&#xff1a;Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本&#xff1a;16.2 pg软件目录&#xff1a;/home/pg16/soft pg数据目录&#xff1a;/home/pg16/data 端口&#xff1a;5777createdb 是 Postgr…