阅读 135

Django——Ajax发送请求验证用户名是否被注册

场景:

用户注册的时候,输入用户名之后,Ajax发送请求到后端,后端验证该用户名是否已经被注册,然后返回到注册页面提示用户。

1、模型:

from django.db import models


class User(models.Model):
    name = models.CharField(max_length=20)
    password = models.CharField(max_length=20)

 

 

2、路由

from django.contrib import admin
from django.urls import path
from app01.views import reg,reg_auth_user

urlpatterns = [
    path(‘admin/‘, admin.site.urls),
    path(‘reg/‘,reg),                       #注册页面的路由
    path(‘reg_auth_user/‘,reg_auth_user)    #Ajax验证用户名的路由
]

  

3、视图函数

import json
from django.shortcuts import render,HttpResponse
from app01.models import User
import json

def reg(request):
    return  render(request,‘reg.html‘)      #注册时返回一个注册的页面reg.html


def reg_auth_user(request):
    user = request.POST.get(‘user‘)         #获取Ajax发送的user的值
    ret = User.objects.filter(name=user)    #从数据库获取name=user的数据对象
    response = {"state": False, "err": ""}  #准备要返回的数据
    if ret:                                 #如果数据库存在这个用户名,则返回‘用户名已存在‘
        response[‘state‘] = True
        response[‘err‘] = ‘用户名已被注册‘
    return HttpResponse(json.dumps(response))  #如果数据库不存在这个用户名,则返回空值‘‘

  

4、reg.html注册页面




    
    注册
    


    

注册页面

用户名: {# 在input框中输入要注册的用户名,span标签用于存放后端返回的错误信息 #}

  

5、效果

 

原文:https://www.cnblogs.com/zhangyh-blog/p/15229157.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐