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