2.在用户名位置,鼠标离开失去焦点,使用ajax检测用户名是否存在,并显示 2.1 找到校验前端输入的js文件 function check_user_name(){ var len = $(‘#user_name‘).val().length; if(len<5||len>20) { $(‘#user_name‘).next().html(‘请输入5-20个字符的用户名‘) $(‘#user_name‘).next().show(); error_name = true; } else { // 在前端格式校验成功之后,添加一个鼠标失去焦点,判断用户名是否存在; // 通过ajax请求视图,JsonResponse返回判断结果; // ajax的get方法3个参数:1.访问视图;2.请求携带的参数;3.success成功后的执行函数; // 执行函数里的参数:data是视图JsonResponse返回的字典; $.get(‘/users/check_useranme/‘, {‘username‘: $(‘#user_name‘).val()}, function(data){ // 根据返回的判断信息,显示判断信息 if (data.ret == 1){ $(‘#user_name‘).next().html(‘用户名存在‘).show(); error_name = true; } else{ $(‘#user_name‘).next().hide(); error_name = false; } }); } 2.2 用于校验的视图函数 def check_username(request): # 如果用户存在 username = POST.get(request, ‘username‘) if models.User.objects.get(user_name=username): return JsonResponse({‘ret‘:1}) else: return JsonResponse({‘ret‘:0})
时间: 2024-10-18 14:50:45