0 头像的上传
1 注册功能错误渲染
$("#id_submit").click(function () {
var formdata = new FormData()
formdata.append('avatar', $('#id_myfile')[0].files[0])
//第一种方式:
/*
formdata.append('username', $('#id_name').val())
formdata.append('password', $('#id_password').val())
formdata.append('re_password', $('#id_re_password').val())
formdata.append('email', $('#id_email').val())
*/
//第二种方式:
var ser = $('#form').serializeArray()
//[{name:name,value:lqz}, {name:password],value:123}, {name:re_password],value:123}, {name:email],value:123@qq.com}]
//console.log(ser)
$.each(ser, function (k, v) {
//console.log(v.name)
//console.log(v.value)
formdata.append(v.name, v.value)
})
$.ajax({
url: '/register/',
method: 'post',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
if (data.code == 100) {
console.log(data.msg)
//js控制的跳转
location.href = data.url
} else {
//有错误,需要渲染页面
$.each(data.error, function (k, v) {
if (k == '__all__') {
$(".error").html(v)
}
$("#id_" + k).next().html(v[0]).parent().addClass('has-error')
})
//过三(3000毫秒)秒钟,错误信息清除,在匿名函数中执行
setTimeout(function () {
$('.text-danger').html("").parent().removeClass('has-error')
}, 3000)
}
}
})
})
2 用户名变化校验
视图函数
def check_username(request):
print('xxx')
res = {'code': 101, 'msg': '该用户已经存在了小兄弟'}
username = request.GET.get('username')
user = models.UserInfo.objects.filter(username=username).count()
if not user:
res['code'] = 100
res['msg'] = '不存在'
return JsonResponse(res)
js代码
3 登陆页面搭建
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="/static/bootstrap/css/bootstrap.min.css">
<script src="/static/jquery-3.3.1/jquery-3.3.1.min.js"></script>
<title>登录</title>
</head>
<body>
<div class="container-fluid">
<div class="row">
<h1 class="text-center">登录功能</h1>
<div class="col-md-6 col-md-offset-3">
<form id="form">
{% csrf_token %}
<div class="form-group">
<label for="">用户名</label>
<input type="text" name="username" class="form-control">
</div>
<div class="form-group">
<label for="">密码</label>
<input type="password" name="password" class="form-control">
</div>
<div class="form-group">
<label for="">验证码</label>
<div class="row">
<div class="col-md-6">
<input type="text" name="valid_code" class="form-control">
</div>
<div class="col-md-6">
<img src="/static/img/default.png" height="30" width="450">
</div>
</div>
</div>
<div class="text-center">
<input type="button" value="登录" id="id_submit" class="btn btn-danger"><span
class="error text-danger" style="margin-left: 10px"></span>