创建HTML页面:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>注册</title> <script type="text/javascript" src="/static/js/jquery-1.11.1.js"></script> <script type="text/javascript"> $(function () { $("#username").blur(function () { var name=$(this).val() var csrf=$('input[name="csrfmiddlewaretoken"]').val() $.ajax({ url:"/myblog/hasname", type:"post", data:{"username":name,"csrfmiddlewaretoken":csrf}, {# dataType:"String",#} success:function (result) { //alert(result) $("#mess").html(result); } }); }); }); </script> </head> <body> <form action="/myblog/regist" method="post"> {% csrf_token %} 用户名:<input type="text" name="username" id="username"><br/><span id="mess">{{ mess }}</span> 密码:<input type="password" name="pwd"><br/> <input type="submit" value="注册"> </form> </body> </html>写函数:
def regist(request): if request.method=='GET': return render(request,"注册.html") else: #获取用户名和密码 uname=request.POST.get("username") pwd=request.POST.get("pwd") #导入models模块后 bloguser=BlogUser() bloguser.userName=uname bloguser.pwd=pwd try: bloguser.save() #return render(request,"成功.html",{'bloguser':bloguser}) return redirect(reverse("user:show",args=[bloguser.id])) except: return render(request,"注册.html",{"mess":"用户名已存在"}) def show(request,id): bloguser=BlogUser.objects.get(pk=id) return render(request,'成功.html') @csrf_protect def hasname(request): username = request.POST.get("username") blogUser = BlogUser.objects.filter(userName=username) print('--------',blogUser) if len(blogUser) > 0: return HttpResponse("用户名已存在") else: return HttpResponse("用户名可用")写路径:
HTML页面用了了ajax实现了简单的注册功能,
表单提交记住要写{% csrf_token %}