注册功能实现

这篇博客详细介绍了如何实现注册功能。首先,通过在前端项目中安装依赖并启动服务。接着,讨论了Django用户表的设计,包括在settings.py中配置数据库,创建模型类。然后,编写视图类,配置路由,并进行数据库迁移。最后,前端部分涉及安装依赖,联调注册功能相关的Vue文件。
摘要由CSDN通过智能技术生成

运行前端项目

进入前台项目的根目录
然后安装依赖
在前端项目根目录cmd命令框安装
npm install
启动项目
npm run serve

用户表设计

创建表的准备工作

在diango项目中的settings.py文件中配置mysql数据库相关信息

DATABASES = {
   
    'default': {
   
        'ENGINE': 'django.db.backends.mysql',
        'HOST':"localhost",
        "PORT":3306, 	#端口号
        'USER':'root',
        'PASSWORD':'数据库密码',
        'NAME':'数据库名'
    }
}

然后在_init_文件安装数据库

import pymysql
pymysql.install_as_MySQLdb()

在diango项目子应用中的models.py文件中编写模型类
用户表: 用户名、密码、手机号

from django.db import models
# Create your models here.
class User(models.Model):
    username=models.CharField(max_length=32,unique=True,verbose_name='用户名')
    password=models.CharField(max_length=32,verbose_name='密码')
    mobile=models.CharField(max_length=16,verbose_name='手机号')
    class Meta:
        verbose_name='用户表'
        verbose_name_plural=verbose_name
    def __str__(self):
        return "%s (%s)"%(self.username,self.mobile)

生成迁移文件
python manage.py makemigrations
进行迁移
python manage.py migrate

编写视图类

from django.shortcuts import render
from rest_framework.response import Response
from rest_framework.views import APIView
from users.models import User
from django.http import HttpResponse
import re,random
# Create your views here.
# 检测用户名长度,是否重复
class CheckUsernameview(APIView):
    def get(self,request,username):
        if not username:
            return Response({
   
                'code':400,
                'msg':'用户名错误'
            })
        if not (6<= len(username) <=32):
            return Response({
   
                'code': 400,
                'msg': '用户长度不符合'
            })
        user_count = User.objects.filter(username=username).count()
        if  user_count:
            #user_count不为0,道标数据库有这条数据
            return Response({
   
                'code':400,
                'msg':'用户名已存在'
            })
        return Response({
   
            'code':200,
            'msg':'用户名可用'
        })
# 检测手机号是否符合标准,重复
class CheckMobile(APIView):
    def get(self,request,mobile):
        rule=r'^1[3-9][0-9]{9}$'  #定义手机号正则
        rs =re.findall(rule,mobile)  #返回结果是一个列表 如果匹配不到 返回的是空列表
        if not rs:
            return Response({
   
                'code':400,
                'msg':'手机号格式不对'
            })
        #程序走到这一步说明手机号格式没问题
        mobile_count=User.objects.filter(mobile=mobile).count()
        if mobile_count:
            return Response({
   
                'code':400,
                'msg':'手机号已存在'
            })
        return Response({
   
            'code':200,
            'msg':'手机号可用'
        })
# 检测密码是否符合标准
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值