#用户注册修改
This commit is contained in:
parent
cdb3eb216b
commit
e79398713f
|
@ -610,4 +610,4 @@ class News(models.Model):
|
||||||
class CheckCode(models.Model):
|
class CheckCode(models.Model):
|
||||||
phone_code = models.CharField('手机验证码',max_length=256,null=True,blank=True)
|
phone_code = models.CharField('手机验证码',max_length=256,null=True,blank=True)
|
||||||
phone = models.CharField('电话号',max_length=256,null=True,blank=True)
|
phone = models.CharField('电话号',max_length=256,null=True,blank=True)
|
||||||
c_time = models.DateField('时间',null=True,blank=True)
|
c_time =models.DateTimeField('时间', auto_now_add=True)
|
||||||
|
|
|
@ -57,14 +57,16 @@
|
||||||
class="login loginpage col-lg-offset-4 col-lg-4 col-md-offset-3 col-md-6 col-sm-offset-3 col-sm-6 col-xs-offset-2 col-xs-8">
|
class="login loginpage col-lg-offset-4 col-lg-4 col-md-offset-3 col-md-6 col-sm-offset-3 col-sm-6 col-xs-offset-2 col-xs-8">
|
||||||
<h1><a href="#" title="Login Page" tabindex="-1">Ultra Admin</a></h1>
|
<h1><a href="#" title="Login Page" tabindex="-1">Ultra Admin</a></h1>
|
||||||
|
|
||||||
<form name="loginform" id="loginform" action="{% url 'dashboard-login-for-phone' %}" method="post">{% csrf_token %}
|
<form name="loginform" id="loginform" action="{% url 'dashboard-login-for-phone' %}"
|
||||||
|
method="post">{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label for="user_login">手机号<br/>
|
<label for="user_login">手机号<br/>
|
||||||
<input type="text" name="username" id="user_login" class="input" size="20" placeholder="请输入手机号"/><button type="button" class="btn btn-success">获取验证码</button></label>
|
<input type="text" name="phone" id="phone" class="input" size="20" placeholder="请输入手机号"/><input
|
||||||
|
class="btn btn-success" type="button" id="code" value="获取验证码"></label>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="user_pass">验证码<br/>
|
<label for="user_pass">验证码<br/>
|
||||||
<input type="text" name="password" id="user_pass" class="input" size="20"
|
<input type="text" name="check_code" id="check_code" class="input" size="20"
|
||||||
placeholder="请输入验证码"/></label>
|
placeholder="请输入验证码"/></label>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
@ -76,7 +78,7 @@
|
||||||
</form>
|
</form>
|
||||||
<p id="nav">
|
<p id="nav">
|
||||||
<a class="pull-left" href="#" title="Password Lost and Found">忘记密码</a>
|
<a class="pull-left" href="#" title="Password Lost and Found">忘记密码</a>
|
||||||
<a href="#" title="Password Lost and Found" style="margin-left: 30%">账号登录</a>
|
<a href="#" title="Password Lost and Found" style="margin-left: 30%">账号登录</a>
|
||||||
<a class="pull-right" href="{% url 'dashboard-register' %}" title="Sign Up">注册</a>
|
<a class="pull-right" href="{% url 'dashboard-register' %}" title="Sign Up">注册</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
@ -125,9 +127,58 @@
|
||||||
img = $(".captcha");
|
img = $(".captcha");
|
||||||
id_captcha_0.attr("value", new_cptch_key);
|
id_captcha_0.attr("value", new_cptch_key);
|
||||||
img.attr("src", new_cptch_image);
|
img.attr("src", new_cptch_image);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
var check = false;
|
||||||
|
$('#phone').blur(function () {
|
||||||
|
var a = $(this).val();
|
||||||
|
e = /^1[34578]\d{9}$/;
|
||||||
|
if (!e.test(a)) {
|
||||||
|
check = false
|
||||||
|
} else {
|
||||||
|
check = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#code').click(function () {
|
||||||
|
if (check) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'post',
|
||||||
|
url: '/author/code/',
|
||||||
|
data: {
|
||||||
|
csrfmiddlewaretoken: $('[name="csrfmiddlewaretoken"]').val(),
|
||||||
|
mobile: $('#phone').val()
|
||||||
|
},
|
||||||
|
success: function (ad) {
|
||||||
|
alert('验证码已发至您的手机,请查收!!!')
|
||||||
|
},
|
||||||
|
error: function (){
|
||||||
|
alert('验证码已发至您的手机,请查收!!!')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else (alert('请输入正确的手机号'))
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
var countdown = 60
|
||||||
|
|
||||||
|
function settime(obj) {
|
||||||
|
if (countdown == 0) {
|
||||||
|
obj.removeAttribute('disable');
|
||||||
|
obj.value = '免费获取验证码';
|
||||||
|
countdown = 60;
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
obj.setAttribute('disable', true);
|
||||||
|
obj.value = '重新发送(' + countdown + ")";
|
||||||
|
countdown--;
|
||||||
|
}
|
||||||
|
setTimeout(function () {
|
||||||
|
settime(obj)
|
||||||
|
}
|
||||||
|
, 1000)
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -85,22 +85,45 @@ def user_login(request):
|
||||||
messages.error(request, '账号或密码错误,请您确认账号和密码')
|
messages.error(request, '账号或密码错误,请您确认账号和密码')
|
||||||
return render(request, 'dashboard/login.html', {'hash_key': hash_key, 'image_url': image_url})
|
return render(request, 'dashboard/login.html', {'hash_key': hash_key, 'image_url': image_url})
|
||||||
|
|
||||||
|
|
||||||
def user_login_for_phone(request):
|
def user_login_for_phone(request):
|
||||||
if request.method == 'GET':
|
if request.method == 'GET':
|
||||||
return render(request,'dashboard/login-for-phone.html')
|
return render(request, 'dashboard/login-for-phone.html')
|
||||||
elif request.method == 'POST':
|
elif request.method == 'POST':
|
||||||
p_code = request.POST.get('check_code')
|
p_code = request.POST.get('check_code')
|
||||||
phone = request.POST.get('phone')
|
phone = request.POST.get('phone')
|
||||||
try:
|
print(phone, p_code)
|
||||||
|
results = CheckCode.objects.filter(phone=18119305139).count()
|
||||||
|
print(str(results) + "11111111111111111")
|
||||||
|
# try:
|
||||||
|
if results > 0:
|
||||||
check_code = CheckCode.objects.get(phone_code=p_code, phone=phone)
|
check_code = CheckCode.objects.get(phone_code=p_code, phone=phone)
|
||||||
if float(time.time()) - float(check_code.c_time) > 60:
|
if User.objects.filter(username=phone).count() > 0:
|
||||||
check_code.delete()
|
user = User.objects.get(username=phone)
|
||||||
return '验证码超时已被删除'
|
login(request, user, backend='django.contrib.auth.backends.ModelBackend')
|
||||||
print(21333333333)
|
# check_code.delete()
|
||||||
check_code.delete()
|
return HttpResponseRedirect('/index/')
|
||||||
return '登录成功'
|
else:
|
||||||
except:
|
user = User(username=phone)
|
||||||
|
|
||||||
|
user.save()
|
||||||
|
userprofile = Userprofile(user_id=user.id, image='default.png')
|
||||||
|
userprofile.save()
|
||||||
|
u = authenticate(username=phone)
|
||||||
|
login(request, u, backend='django.contrib.auth.backends.ModelBackend')
|
||||||
|
return HttpResponseRedirect('/index/')
|
||||||
|
# if float(time.time()) - float(check_code.c_time) > 60:
|
||||||
|
# check_code.delete()
|
||||||
|
# return '验证码超时已被删除'
|
||||||
|
# print(21333333333)
|
||||||
|
#
|
||||||
|
# except:
|
||||||
|
else:
|
||||||
print(1233333333)
|
print(1233333333)
|
||||||
|
messages.error(request, '请输入正确的验证码!!!')
|
||||||
|
return render(request, 'dashboard/login-for-phone.html')
|
||||||
|
|
||||||
|
|
||||||
def author_code(request):
|
def author_code(request):
|
||||||
sms_host = "sms.yunpian.com"
|
sms_host = "sms.yunpian.com"
|
||||||
voice_host = "voice.yunpian.com"
|
voice_host = "voice.yunpian.com"
|
||||||
|
@ -110,18 +133,21 @@ def author_code(request):
|
||||||
version = "v2"
|
version = "v2"
|
||||||
# 模板短信接口的URI
|
# 模板短信接口的URI
|
||||||
sms_tpl_send_uri = "/" + version + "/sms/tpl_single_send.json"
|
sms_tpl_send_uri = "/" + version + "/sms/tpl_single_send.json"
|
||||||
# if request.method == 'GET':
|
|
||||||
# phone = request.POST.get('phone')
|
|
||||||
apikey = "304eb08353f7ebf00596737acfc31f53"
|
apikey = "304eb08353f7ebf00596737acfc31f53"
|
||||||
mobile = "18119305139"
|
# mobile = "18119305139"
|
||||||
tpl_id = 4041392
|
mobile = request.POST.get('mobile')
|
||||||
|
print(str(mobile) + "99999999999999999999999999999999999999999")
|
||||||
|
tpl_id = 4045320
|
||||||
|
|
||||||
str = ""
|
code = ""
|
||||||
for i in range(6):
|
for i in range(6):
|
||||||
ch = chr(random.randrange(ord('0'), ord('9') + 1))
|
ch = chr(random.randrange(ord('0'), ord('9') + 1))
|
||||||
str += ch
|
code += ch
|
||||||
print(str)
|
print(code)
|
||||||
tpl_value = {'#dateStart#': '10月1日', '#dateEnd#': '10日', '#type#': '微信公众号', '#name#': str}
|
# tpl_value = {'#dateStart#': '10月1日', '#dateEnd#': '10日', '#type#': '微信公众号', '#name#': code}
|
||||||
|
tpl_value = {'#code#':code}
|
||||||
|
|
||||||
|
|
||||||
params = parse.urlencode({
|
params = parse.urlencode({
|
||||||
'apikey': apikey,
|
'apikey': apikey,
|
||||||
'tpl_id': tpl_id,
|
'tpl_id': tpl_id,
|
||||||
|
@ -136,21 +162,18 @@ def author_code(request):
|
||||||
conn.request("POST", sms_tpl_send_uri, params, headers)
|
conn.request("POST", sms_tpl_send_uri, params, headers)
|
||||||
response = conn.getresponse()
|
response = conn.getresponse()
|
||||||
response_str = response.read()
|
response_str = response.read()
|
||||||
|
try:
|
||||||
|
check_code = CheckCode.objects.get(phone=mobile)
|
||||||
|
check_code.phone_code = code
|
||||||
|
check_code.save()
|
||||||
|
except:
|
||||||
|
print(code, mobile, 1111111111)
|
||||||
|
check_code = CheckCode(phone_code=code, phone=mobile)
|
||||||
|
check_code.save()
|
||||||
conn.close()
|
conn.close()
|
||||||
return response_str
|
return response_str
|
||||||
# return HttpResponse('ok')
|
|
||||||
# a = YunPian(settings.API_KEY)
|
|
||||||
# a.send_sms(phone_code, mobile)
|
|
||||||
# try:
|
|
||||||
# check_code = CheckCode.objects.get(phone=mobile)
|
|
||||||
#
|
|
||||||
# check_code.phone_code = phone_code
|
|
||||||
# check_code.save()
|
|
||||||
# except:
|
|
||||||
# print(phone_code, mobile, 1111111111)
|
|
||||||
# check_code = CheckCode(phone_code=phone_code, phone=mobile)
|
|
||||||
# check_code.save()
|
|
||||||
# return JsonResponse({'data': '验证码发送成功'})
|
|
||||||
def user_logout(request):
|
def user_logout(request):
|
||||||
logout(request)
|
logout(request)
|
||||||
return HttpResponseRedirect('/')
|
return HttpResponseRedirect('/')
|
||||||
|
@ -232,7 +255,8 @@ def register(request):
|
||||||
# user.is_staff = True
|
# user.is_staff = True
|
||||||
# user.first_name = phone
|
# user.first_name = phone
|
||||||
|
|
||||||
userprofile = Userprofile(name=name, image=image, user_id=user.id, organization_id=user_organization, sex=sex, status=0)
|
userprofile = Userprofile(name=name, image=image, user_id=user.id, organization_id=user_organization,
|
||||||
|
sex=sex, status=0)
|
||||||
|
|
||||||
userprofile.save()
|
userprofile.save()
|
||||||
user.save()
|
user.save()
|
||||||
|
|
Loading…
Reference in New Issue