def register(request): if request.method == 'GET': context = { 'title': '注册', } return render(request, 'user/register.html', context=context) elif request.method == 'POST': username = request.POST.get('username') email = request.POST.get('email') # password = request.POST.get('password') password = my_password_generator(request.POST.get('password')) icon = request.FILES.get('icon') user = User() user.username = username user.email = email user.password = password user.icon = icon user.save() u_token = uuid.uuid4().hex print(u_token) cache.set(u_token, username, timeout=60 * 60 * 24) # 暂时还不成功,需要用到celery来在后台运行,或者因为是在windows平台 # p = Process(target=send_verification_email, args=(username, email, u_token)) # p.start() send_verification_email(username, email, u_token) return HttpResponseRedirect(reverse('shop:login'))
def post(self): print('1111') parse = parser.parse_args() print('22222') user = User() user.username = parse.get('username') user.password = parse.get('password') user.email = parse.get('email') user.token = get_token() print(user.email) print(user.username) print(user.password) responseData = {} print('@@@@@') users = User.query.filter(User.email == user.email) print('$$$$$$') if users.count() > 0: # 已存在 responseData['status'] = 406 responseData['msg'] = '注册失败' responseData['err'] = '该邮箱已经被注册使用!' return responseData else: # 不存在 # 写入数据库 print('****') db.session.add(user) print('&&&&') db.session.commit() print('^^^^') responseData['status'] = 200 responseData['msg'] = '注册成功,请查看邮件(需要激活)!' responseData['data'] = user return responseData
def post(self): # 从基本的请求解析器中复制请求参数 registParser = self.parser.copy() # 再添加注册时使用的 registParser.add_argument('password', dest='pwd', required=True, help='密码不能为空') registParser.add_argument('nickname', required=True, help='昵称不能为空') registParser.add_argument('email', required=True, help='邮箱不能为空') registParser.add_argument('phone', required=True, help='手机号不能为空') args = registParser.parse_args() u = User() u.name = args['name'] u.nickname = args['nickname'] u.email = args['email'] u.phone = args['phone'] u.password = md5_crypt(args['pwd']) if dao.save(u): # token = md5_crypt(str(uuid4())) # App.ext.cache.set(token, u.id, timeout=60 * 10) active_url = request.host_url + 'account?opt=active&token=' # msg = Message(subject='淘票票用户激活', recipients=[u.email], sender='*****@*****.**') # msg.html = '<h1>{}注册成功</h1><h3><a href={}>点击这里验证邮件</a></h3><h2>或者复制地址到浏览器: {}'.format(u.name, active_url, # active_url) # # App.ext.mail.send(msg) tasks.sendMail.delay(u.id, active_url) return {'status': 666, 'msg': '用户注册成功'} return {'status': 660, 'msg': '用户注册失败'}
def register(request): if request.method == 'GET': return render(request, 'register.html') if request.method == 'POST': username = request.POST.get('username') password = request.POST.get('password') password2 = request.POST.get('cpwd') email = request.POST.get('email') res = User.objects.filter(username=username) if len(res) > 0: return HttpResponse("用户已经存在") elif password != password2: return HttpResponse("两次密码输入不正确") else: password = hashlib.sha1(password.encode('utf8')).hexdigest() request.session['username'] = username request.session.set_expiry(0) # User.objects.create(username=username,password=password,email=email) set = User() set.username = username set.password = password set.email = email set.save() return render(request, 'login.html')
def post(self): # 从基本的请求解析器中复制请求参数说明 registParser = self.parser.copy() # 再添加注册时使用 registParser.add_argument('password', dest='pwd', required=True, help='口令不能为空') registParser.add_argument('email', required=True, help='邮箱不能为空!') registParser.add_argument('phone', required=True, help='手机号不能为空!') registParser.add_argument('nickname', required=True, help='昵称不能为空!') # 验证请求参数是满足要求 args = registParser.parse_args() u = User() u.name = args.get('name') u.nickName = args.get('nickname') u.email = args.get('email') u.phone = args.get('phone') u.password = helper.md5_crypt(args.get('pwd')) if dao.save(u): # helper.sendEmail(u) url = request.host_url tasks.sendMail.delay(u.id, url) return {'status': 200, 'msg': '用户注册成功'} return {'status': 201, 'msg': '用户注册失败'}
def post(self): parse = parser.parse_args() user = User() user.name = parse.get('name') user.phone = parse.get('phone') user.email = parse.get('email') user.password = generate_password_hash(password=parse.get('password')) user.token = get_token() responseData = {} users = User.query.filter(User.email == user.email) if users.count > 0: responseData['status'] = 406 responseData['msg'] = '注册失败' responseData['err'] = '邮箱已注册' else: db.session.add(user) db.session.commit() mas = Message(subject='TPP激活邮件', recipients=[user.email]) url_active = 'http://127.0.0.1:5000/api/v1/register/?token=' + user.token body_html = render_template('useractive.html', name=user.name, url_active=url_active) mas.html = body_html mail.send(mas) cache.set(user.token, user.id, timeout=60 * 60) responseData['status'] = 200 responseData['msg'] = '注册成功请逐一查收(需要激活)' responseData['data'] = user return responseData
def user_add(): if request.method == "GET": return render_template('./user-add.html') if request.method == "POST": user = User() username = request.form.get('username') sql_user = User.query.filter_by(username=username) for i in sql_user: if i.username == username: return render_template('./2222.html') # s_name=sql_user[0].username # print(s_name) # if username==s_name: # return '数据库已存在该用户' email = request.form.get('email') address = request.form.get('address') user.username = username user.email = email user.address = address t = time.localtime() T = "{}:{}:{}".format(t.tm_hour, t.tm_min, t.tm_sec) user.time = T user.key = 1 db.session.add(user) db.session.commit() return render_template('./successful.html')
def post(self): #从基本的请求解析器中复制请求参数说明 registParser=self.parser.copy() #再注册时使用 registParser.add_argument('password', required=True, help='密码不能为空', dest='pwd') registParser.add_argument('email', required=True, help='邮箱不能为空' ) registParser.add_argument('phone', required=True, help='电话不能为空' ) registParser.add_argument('nickname', required=True, help='昵称不能为空' ) registParser.add_argument('photo_1', type=FileStorage, location='files', required=True, help='必须提供一个photo' ) # 验证请求参数是满足要求 args=registParser.parse_args() u=User() u.name=args.get('name') u.nickname=args.get('nickname') u.phone=args.get('phone') u.email=args.get('email') u.password=helper.md5_crypt(args.get('pwd')) uFile: FileStorage = args.get('photo_1') print('上传的文件名:', uFile.filename) newFileName = str(uuid.uuid4()).replace('-', '') newFileName += '.' + uFile.filename.split('.')[-1] uFile.save(os.path.join(settings.MEDIA_DIR, newFileName)) if dao.save(u): helper.sendEmail(u) return {'status':200, 'msg':'上传成功,用户注册成功', 'path': '/static/uploads/{}'.format(newFileName)} return {'status':201, 'msg':'用户注册失败'}
def regist(): user = User() user.username = request.form.get('register_username') user.password = request.form.get('register_password') user.email = request.form.get('register_email') db.session.add(user) db.session.commit() return redirect(url_for('userBlue.login'))
def handle_register(): # 1.拿到用户输入的数据 username = request.form.get("username") password = request.form.get("password") email = request.form.get("email") gender = request.form.get("gender") age = request.form.get("age") # 2.把数据存到数据库 user = User() user.username = username user.password = generate_password_hash(password) user.gender = gender user.age = age user.email = email user.tokon = str(uuid.uuid4()) try: user.save() except Exception as ex: abort(400) # 往缓存里写一对键值对 cache.set(user.tokon, user.id, timeout=60) # 3.给注册的邮箱发送一个激活邮件 # msg = Message( # subject="欢迎注册脸盆网", # recipients=[] # ) # 把发送邮件的过程放到后台去执行 # 创建一个Message对象 # msg = Message() # msg.subject = "欢迎注册脸盆网" # msg.recipients = [email] # msg.body = # 在url_for里面,不认识的参数会自动变成请求参数 active_url = url_for("user.handle_active", _external=True, tokon=user.tokon) # msg.html = render_template("ActivePage.html",username=username,active_url=active_url) # # 把Message发出去 # mail.send(msg) from App.celery_util import send_mail subject = "欢迎注册脸盆网" recipients = [email] html = render_template("ActivePage.html", username=username, active_url=active_url) send_mail.delay(subject=subject, recipients=recipients, html=html) return "恭喜你注册成功"
def user_register(): formm = RegisterForm() # query first level data first_layer_category = Category.query.filter(Category.parentid == 0).all() # query other levels data other_layer_category = Category.query.filter(Category.parentid != 0).all() # sponsor object sponsor = Sponsor.query.first() # current date current_year = datetime.datetime.now().year time_now = datetime.datetime.now().strftime("%m-%d %H:%M") if request.method == "GET": # v_code = VerifyCode().generate() return render_template("foreground/reg.html", **locals()) else: # check whether the form information filled by the user meets all of the restrictions if formm.validate_on_submit(): # data = request.form # uname = data.get("username") # upsw = data.get("password") # upsw_r = data.get("repassword") # umail = data.get("mail") # v_code = request.form.get("yzm") # only if all restrictions are met , get user information uname = formm.username.data upsw = formm.password.data upsw_r = formm.confirm.data umail = formm.email.data # v_code = formm.verificationcode.data # print(v_code, session['code']) # Determine whether the verification code is correct # if session['code'] != v_code: # war = "Wrong verification code" # return render_template("foreground/reg.html", **locals()) if (not User.query.filter(User.username == uname).first()) and upsw == upsw_r: # save user information and insert data into the database user = User() user.username = uname user.password = upsw user.email = umail user.portrait = "foreground/images/avatar_blank.gif" user.regtime = datetime.datetime.now() db.session.add(user) db.session.commit() return redirect(url_for("bbs.bbs_index")) else: return render_template("foreground/reg.html", **locals()) else: return render_template("foreground/reg.html", **locals())
def register(mode=None): if request.method == "GET": data = {"msg": "Register"} return jsonify(data) elif request.method == "POST": if mode == "match": username = request.form.get("username") passwd = request.form.get("passwd") passwd2 = request.form.get("passwd2") email = request.form.get("email") phone_number = request.form.get("phone_number") print(username, passwd, passwd2, email, phone_number) # 用来判断用户名是否重复,两次密码是否一致 # 判断数据库中有没有用户名 users = User.query.all() for user in users: if username == user.username: return jsonify({"msg": "2", "status": ""}), 201 #用户已经存在 if passwd != passwd2: return jsonify({"msg": "3", "status": ""}), 201 #两次密码不同 # 用正则表达式判断邮件和手机号码格式对不对 res = re.fullmatch(email_match, email) if not res: return jsonify({"msg": "4", "status": ""}), 201 #邮箱格式错误 res2 = re.fullmatch(phone_match, phone_number) if not res2: return jsonify({"msg": "5", "status": ""}), 201 #电话号码格式错误 return jsonify({"msg": "信息正确", "status": True}), 201 else: username = request.form.get("username") passwd = request.form.get("passwd") email = request.form.get("email") phone_number = request.form.get("phone_number") print("uname=", username) print("passwd=", passwd) # 判断完后插入 user = User() user.username = username user.password = passwd user.email = email user.phonenumber = phone_number db.session.add(user) db.session.commit() return jsonify({"msg": "注册成功,请先登录", "username": username}), 201
def register(): # 实例化注册表单类 form = Register() # 实例化存储注册表单数据 e = User() if form.validate_on_submit(): e.username = form.username.data e.password = form.userpass.data e.email = form.email.data e.registerTime = datetime.now() e.status = '专家' if e.save(): flash('注册成功,已为您跳转到登录页面...') return redirect(url_for('expert.login')) return render_template('expert/register.html', form=form)
def register(): # 实例化注册表单类 form = Register() u = User() if form.validate_on_submit(): # 实例化存储注册表单数据 u.username = form.username.data u.password = form.userpass.data u.email = form.email.data u.registerTime = datetime.now() u.status = '作者' u.save() flash('注册成功,以为您跳转到登录页面...') return redirect(url_for('user.login')) return render_template('user/register.html', form=form)
def post(self): parser = reqparse.RequestParser() parser.add_argument(name='pos_id', type=int) parser.add_argument(name='name', type=str) parser.add_argument(name='email', type=str) parser.add_argument(name='tel', type=str) parser.add_argument(name='passwd', type=str) parse = parser.parse_args() pos_id = parse.get('pos_id') name = parse.get('name') email = parse.get('email') tel = parse.get('tel') passwd = parse.get('passwd') user = User() user.pos_id = pos_id user.name = name user.email = email user.tel = tel user.passwd = passwd user.img_src = '/default/avatar_64px.png' try: db.session.add(user) db.session.commit() except Exception as e: print(str(e)) user = User.query.filter(User.email.__eq__(email)).first() pos = Position.query.filter(Position.id.__eq__(user.pos_id)).first() bu = BusinessUnit.query.filter(BusinessUnit.id.__eq__( pos.bu_id)).first() data = { 'id': user.id, 'name': user.name, 'email': user.email, 'avatar': user.img_src, 'tel': user.tel, 'passwd': user.passwd, 'create_at': user.create_at, 'pos': { 'id': pos.id, 'name': pos.name, 'bu': { 'id': bu.id, 'name': bu.name } } } return jsonify(data)
def do_register(request): if request.method == 'POST': u = User() u.username = request.POST.get('username') u.email = request.POST.get('email') u.password = request.POST.get('password') if request.POST.get('password') == request.POST.get('cpassword'): u.save() request.session['user'] = u.username request.session.set_expiry(600) redis.incr('online_user') token = u.generate_activate_token() url = 'http://10.0.129.114:8000/blog/useractivate/?token=%s'%token message = '<h3>你好,%s</h3><a href=%s>点我激活</a>'%(u.username,url) print('-------------------',message) send_mail(u.email,message,token=token) return HttpResponse('你好,激活邮件已经发送至你的 邮箱,快去激活吧')
def register(): if current_user.status == '管理员': # 当前用户是管理员,才会渲染下面的模板,否则渲染nocan.html # 创建管理员表单对象 ad = User() if request.method == 'POST': if User.query.filter( User.username == request.form.get('adname')).first(): flash('用户名已存在') if User.query.filter( User.email == request.form.get('email')).first(): flash('邮箱已存在') if request.form.get('passwd') != request.form.get('repass'): flash('两次输入的密码不一样,请重新输入...') else: ad.username = request.form.get('adname') ad.password = request.form.get('passwd') ad.email = request.form.get('email') ad.registerTime = datetime.now() ad.status = '管理员' ad.leaderId = current_user.id num = 0 # 权限初始值 if request.form.get('pe1'): num += int(request.form.get('pe1')) if request.form.get('pe2'): num += int(request.form.get('pe2')) if request.form.get('pe4'): num += int(request.form.get('pe4')) if request.form.get('pe8'): num += int(request.form.get('pe8')) ad.permissions = num if ad.save(): flash('注册成功...') else: flash('注册失败...') if current_user.permissions & 8: # 可以创建超级管理员,可设置管理员拥有的权限 return render_template('admin/register_ad1.html') elif current_user.permissions & 4: # 可以创建普通管理员,没有权限的管理员 return render_template('admin/register_ad2.html') else: return render_template('common/noPermission.html') else: return render_template('common/nocan.html', u=current_user.username)
def post(self): # 获取前端提交的参数 args = parser.parse_args() username = args.get("username") password = args.get("password") email = args.get("email") # 注册(添加用户数据) user = User() user.username = username user.password = generate_password_hash(password) # print(user.password) # print(len(user.password)) user.email = email user.user_token = str(uuid.uuid4()) # token, 唯一标识 try: db.session.add(user) db.session.commit() # 发生邮件激活用户 # 创建邮件 msg = Message(subject="淘票票用户激活", sender="*****@*****.**", recipients=[email]) # 邮件内容 # msg.html = "<b>hello 淘票票</b>" msg.html = render_template( 'user_active.html', username=username, active_url="http://10.20.158.28:5000/useractive/?token=%s" % user.user_token) # 发送邮件 mail.send(msg) # 使用缓存cache # 给每个用户单独使用缓存,在5分钟内激活才有效 cache.set(user.user_token, user.id, timeout=300) except Exception as e: return {"returnCode": "-1", "msg": str(e)} return {"returnCode": "0", "msg": "success", "returnValue": user}
def post(self): # 从基本的请求解析器中复制请求参数说明 registParser = self.parser.copy() # 再添加注册时使用 registParser.add_argument('password', dest='pwd', required=True, help='口令不能为空') registParser.add_argument('email', required=True, help='邮箱不能为空!') registParser.add_argument('phone', required=True, help='手机号不能为空!') registParser.add_argument('nickname', required=True, help='昵称不能为空!') # 验证请求参数是满足要求 args = registParser.parse_args() u = User() u.name = args.get('name') u.nickName = args.get('nickname') u.email = args.get('email') u.phone = args.get('phone') u.password = helper.md5_crypt(args.get('pwd')) if dao.save(u): # token = helper.md5_crypt(str(uuid.uuid4())) # # # 将token设置到redis缓存中 # App.ext.cache.set(token, u.id, timeout=10 * 60) # 允许10分钟内来激活用户 # # active_url = request.host_url + 'account/?opt=active&token=' + token # # 发送邮件 # msg = Message(subject='淘票票用户激活', # recipients=[u.email], # sender='*****@*****.**') # msg.html = "<h1>{} 注册成功!</h1><h3>请先<a href={}>激活</a>注册账号</h3> <h2>或者复制地址到浏览器: {}</h2>".format(u.name, active_url, active_url) # # App.ext.mail.send(msg)e url = request.host_url tasks.sendMail.delay(u.id,url) return {'status': 200, 'msg': '用户注册成功'} return {'status': 201, 'msg': '用户注册失败'}
def register(request): method = request.method if method == 'GET': return render(request,'user/user_register.html') username = request.POST.get('username') phone = request.POST.get('phone') email = request.POST.get('email') pwd = request.POST.get('pwd') gender = request.POST.get('usergendrer') icon = request.FILES.get('usericon') user = User() user.name = username user.email = email user.phone = phone user.pwd = md5(pwd) user.gender = gender user.icon = icon user.save() return HttpResponseRedirect(reverse('app:mine')) else: raise Exception('登录错误')
def registered(request): if request.method == 'POST': emali = request.POST.get('email') firstname = request.POST.get('firstname') lastname = request.POST.get('lastname') phone = request.POST.get('phone') password = request.POST.get('password') repassword = request.POST.get('repassword') add = User() add.username = emali add.email = emali add.first_name = firstname add.last_name = lastname add.date_joined = datetime.now() if len(phone) == 11: add.mobile = phone if password == repassword: add.password = password add.save() return render(request, 'member-add.html')
def register(request): if request.method == "GET": return render(request, 'register.html') elif request.method == "POST": email = request.POST.get('email') password = request.POST.get('password') # print(email,password) user = User() user.email = email user.password = password user.save() #重定向 response = redirect('app:index') #保持状态 response.set_cookie('email', user.email) print(request.COOKIES.get("email")) return response
def root(): # 创建管理员表单对象 ad = User() if User.query.filter(User.username == 'root').first(): # 管理员已经存在 num = 1 else: # 给一个最开始的管理员、权限全开 ad.username = '******' ad.password = '******' ad.email = '*****@*****.**' ad.registerTime = datetime.now() ad.status = '管理员' ad.leaderId = 0 ad.permissions = 31 # flash('测试') if ad.save(): # 注册成功 num = 2 else: # 注册失败 num = 3 return render_template('admin/root_register.html', num=num)
def post(self): args = parse_base.parse_args() password = args.get("password") action = args.get("action").lower() if action == USER_ACTION_REGISTER: args_register = parse_register.parse_args() email = args_register.get("email") username = args_register.get("username") user = User() user.username = username user.set_password(password) user.email = email if not user.save(): abort(400, msg="创建失败") data = { "status": HTTP_CREATE_OK, "msg": "用户创建成功", "data": user, } return marshal(data, single_user_fields) elif action == USER_ACTION_LOGIN: args_login = parse_login.parse_args() email = args_login.get("email") username = args_login.get("username") user = get_user(username) or get_user(email) if not user: abort(400, msg="用户不存在") if not user.verify_password(password): abort(401, msg="用户名或密码错误") if user.is_delete: abort(401, msg="用户不存在") token = uuid.uuid4().hex user.access_token = token data = { "msg": "login success", "status": HTTP_OK, "token": token, } return data elif action == USER_ACTION_QUICK_LOGIN: args_quick_login = parse_quick_login.parse_args() username = args_quick_login.get("username") user = get_user(username) if user: abort(400, msg="用户名已经存在") user = User() user.username = username # user.ip=ip if not user.save(): abort(400, msg="创建失败") room = Room.query.get(1) room.users.append(user) room.save() token = uuid.uuid4().hex user.access_token = token user.save() data = { "msg": "quick_login success", "status": HTTP_OK, "token": token, "data": user, } return marshal(data, single_user_fields) elif action == USER_VALIDATE: args = parse_validate.parse_args() token = args.get("token") if token: user = get_user(token) if user: data = { "msg": "validate pass", "status": HTTP_OK, "token": token, "data": user, } return marshal(data, single_user_fields) abort(400, msg="validate failed") else: abort(400, msg="请提供正确的参数")
def post(self): # 获取用户信息 parse = parser.parse_args() user = User() user.username = parse.get('username') user.password = generate_password_hash(parse.get('password')) user.email = parse.get('email') user.phone = parse.get('phone') user.token = str(uuid.uuid5(uuid.uuid4(), 'register')) # 返回数据 response_data = { 'status': 406, 'msg': '注册失败', 'date': str(time.ctime()) } # 逻辑处理 users = User.query.filter(User.username == user.username).filter(User.email == user.email) if users.count()>0: # 用户已存在 response_data['error'] = '该用户已经注册过,请直接登录!' return response_data else: # 用户不存在 # 邮箱处理 users = User.query.filter(User.email == user.email) if users.count()>0: # 邮箱已被注册 response_data['error'] = '邮箱已被注册' return response_data # 用户名处理 users = User.query.filter(User.username == user.username) if users.count()>0: # 用户名被占用 response_data['error'] = '用户名被占用' return response_data # 存储数据库 db.session.add(user) db.session.commit() # 写邮件 active_url = 'http:///127.0.0.1:5000/api/v1/active?token=' + user.token username = user.username body_html = render_template('userActive.html', active_url=active_url, username=username) msg = Message(subject="激活邮件", # 主题 html=body_html, # 正文 sender="*****@*****.**", # 发件人 recipients=[user.email]) # 收件人 # 发邮件 mail.send(msg) # cahce操作 # token:userid cache.set(user.token, user.id, timeout=30) # 返回数据 response_data['status'] = 200 response_data['msg'] = '注册成功' response_data['data'] = user return response_data