注册页面功能实现 - 02 | Django开发
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了注册页面功能实现 - 02 | Django开发相关的知识,希望对你有一定的参考价值。
# 当注册页面输入完用户名,鼠标失去焦点的时候,判断用户名是否存在; # 所以要在前端校验中注册的js中对检测用户名格式正确的时候, # 用ajax添加一个判断数据库中是否存在用户名过程;
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 { // 如果用户名判断正确的话,就隐藏提示信息 // 并且判断用户名是否存在 // /users/check_username/解释这个前面的斜杠? // ajax中的get()方法请求的url是去掉端口跟get参数的; // data.ret是什么东西? // 在判断的视图中定义的一个判断标志; // get的三个参数:1.请求的url地址;2.携带的数据;3.访问成功后执行的函数; // 字典方式携带用户名带访问这个视图; // 接着添加这个视图; $.get(‘/users/check_username/‘, {‘username‘:$(‘#user_name‘).val()},function(data){ if (data.ret == 1) { $(‘#user_name‘).next().html(‘用户名存在!‘).show(); error_name = false; } else { $(‘#user_name‘).next().hide(); error_name = false; } }); } } # 我们需要在视图中读取校验数据库数据,在检测完毕之后, # 通过Jsonresponse返回到js中;做进一步去的操作判断;
2.视图中
# 检测用户名是否存在 def check_username(request): # 通过一个函数来完成检测 if user_is_exist(request): # 如果有值返回数据到ajax return JsonResponse({‘ret‘: 1}) else: return JsonResponse({‘ret‘: 0})
3.添加检测判断用户名的小函数
# 检测用户名是否存在 def user_is_exist(request): # 获取请求参数 # 从post表单中获取提交的用户名 username = get(request, ‘username‘) # 在数据库中查询数据 # 返回数据库中存的用户名 return User.objests.user_by_name(username)
4.添加检测用户名存在的url配置
以上是关于注册页面功能实现 - 02 | Django开发的主要内容,如果未能解决你的问题,请参考以下文章
基于django的视频点播网站开发-step3-注册登录功能
python测试开发django-27.表单提交之post修改密码