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": []})
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')