Exemplo n.º 1
0
def register_api():
    if request.method == "GET":
        #此处可以重定向到登录页面
        return "注册成功"
    else:
        #解析参数
        params = request.form
        u_phone = params.get("u_phone")
        u_name = params.get("u_name")
        u_password = params.get("u_password")
        email = params.get("email")
        u_icon = request.form.get("u_icon", None)
        #校验参数
        if u_name and u_password and u_phone and len(u_name) > 3 and len(
                str(u_phone)) == 11:
            #校验手机号
            enc_phone = User.query.filter(User.u_phone == u_phone).all()
            #若为True 则手机号注册过
            if len(enc_phone) == 0:
                # 给密码加密
                enc_pwd_str = enc_pwd(u_password)
                #实例化
                u = User()
                u.u_name = u_name
                u.u_password = enc_pwd_str
                #校验用户头像,若为None,则没上传
                if u_icon == None:
                    return "没上传头像,请上传头像"
                else:
                    #生成唯一头像名字
                    file_name = create_rand_str() + ".jpg"
                    #拼接文保存路径
                    file_path = os.path.join(BASE_DIR,
                                             'static/icon' + file_name)
                    #保存文件
                    file = open(file_path, "wb")
                    for i in u_icon.chunks():
                        u.u_icon = file_path
                        #保存文件路径
                #将用户对象保存到数据库
                db.session.add(u)
                db.session.commit()

                res = send_mail(email, request.host)
                # 设置缓存
                cache.set(res, u.id, 60 * 60)
                data = {"code": SUCCESS, "msg": '注册成功', "data": []}
                return jsonify(data)
            else:
                #手机号已被注册
                return jsonify({
                    "code": FAIL,
                    "msg": "手机号已被注册,请换个手机号重新注册",
                    "data": []
                })
        else:
            #参数不合适
            return jsonify({"code": NOT_LOGIN, "msg": "参数不对,请核对", "data": []})
Exemplo n.º 2
0
def register(request):
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        email = request.POST.get('email')
        icon = request.FILES['icon']
        password2 = passwordMD5(password)
        user = User()
        user.u_name = username
        user.u_password = password2
        user.u_email = email
        user.u_icon = icon
        user.save()
        response = redirect(reverse('myapp:myself'))
        request.session['username'] = username
        return response
    elif request.method == "GET":
        return render(request, 'myapp/myself/register.html')