Esempio n. 1
0
def register(request: HttpRequest) -> HttpResponse:
    """注册"""
    hint = ''
    if request.method == 'POST':
        agreement = request.POST.get('agreement')
        if agreement == 'on':
            code_from_user = request.POST.get('mobilecode','0')
            code_from_sess = request.session.get('mobilecode','1')
            if code_from_user == code_from_sess:
                username = request.POST.get('username')
                password = request.POST.get('password')
                tel = request.POST.get('tel')
                if check_username(username):
                    if check_password(password):
                        if tel:
                            user = User()
                            user.username = username
                            user.password = gen_md5_digest(password)
                            user.tel = tel
                            try:
                                user.save()
                            except DatabaseError:
                                hint = '用户或手机号已被注册,请尝试其他的用户名或手机号'
                            else:
                                hint = '注册成功,请登录'
                                return redirect(f'/login/?hint={hint}')
                        else:
                            hint = '电话号码错误'
                    else:
                        hint = '密码少于8位'
                else:
                    hint = '用户名少于6位数'
            else:
                hint = '请输入正确的手机验证码'
        else:
            hint = '请勾选同意网站用户协议及隐私政策'
    return render(request, 'register.html', {'hint': hint})