def login(request): if request.method == 'POST': from logic.models import User cur_user = User() form = RegisterForm(request.POST) if form.is_valid(): username = form.cleaned_data['uid'] password = form.cleaned_data['password'] q = User.objects.filter(uid=username, password=password) if q.__len__() != 0: cur_user.name = q[0].name cur_user.uid = q[0].uid q[0].lobby_id = 0 q[0].save() userdict = {'uid': username, 'name': cur_user.name} all_lobbies = Lobby.objects.all() lobbies = [] into_lobby_form = IntoLobbyForm() lobby_length = all_lobbies.__len__() for i in range(0, lobby_length): lobby = { 'user_num': User.objects.filter(lobby_id=(i + 1)).__len__(), 'lobby_name': all_lobbies[i].name } lobbies.append(lobby) return render( request, 'login_complete.html', { 'lobbies': lobbies, 'Dict': json.dumps(userdict), 'into_lobby_form': into_lobby_form, }) else: return HttpResponse("用户名或密码错误!")
def register(): """注册 1. 接收参数(手机号, 短信验证码, 密码(明文)) 2. 校验参数(判断参数是否齐全,手机号是否合法) 3.查询服务器存储的短信验证码 4. 跟客户传入的短信验证码对比 5. 如果对比成功,则创建USer模型对象,并赋值属性 6. 同步数据模型到数据库 7. 将状态保持数据写入session(实现注册即登录) 8. 返回注册结果""" # 1.接收参数(手机号, 短信验证码, 密码(明文)) # json 封装了==json.loads(json_str) json_dict = request.json mobile = json_dict.get('mobile') smscode_client = json_dict.get('smscode') password = json_dict.get('password') # 2.校验参数(判断参数是否齐全, 手机号是否合法) if not all([mobile, smscode_client, password]): # '{'errno':'0', 'errmsg':'OK'}' return jsonify(errno=response_code.RET.PARAMERR, errmsg='缺少参数') if not re.match(r'^1[345678][0-9]{9}$', mobile): return jsonify(errno=response_code.RET.PARAMERR, errmsg='手机号格式错误') # 3.查询服务器存储的短信验证码 try: smscode_server = redis_store.get('SMS:' + mobile) except Exception as e: current_app.logger.error(e) return jsonify(errno=response_code.RET.DBERR, errmsg='查询短信验证码失败') if not smscode_server: return jsonify(errno=response_code.RET.NODATA, errmsg='短信验证码不存在') # 4.跟客户传入的短信验证码对比 if smscode_client != smscode_server: return jsonify(errno=response_code.RET.PARAMERR, errmsg='输入短信验证码错误') # 5.如果对比成功, 则创建USer模型对象, 并赋值属性 user = User() user.mobile = mobile user.nick_name = mobile user.password = password user.last_login = datetime.datetime.now() # 6.同步数据模型到数据库 try: db.session.add(user) db.session.commit() except Exception as e: current_app.logger.error(e) db.session.rollback() return jsonify(errno=response_code.RET.DBERR, errmsg='存储数据失败') # 7. 将状态保持数据写入session(实现注册即登录) session['user_id'] = user.id session['mobile'] = user.mobile session['nick_name'] = user.nick_name # 8. 返回注册结果 return jsonify(errno=response_code.RET.OK, errmsg='注册成功')
def new_user(): username = request.json.get('username') password = request.json.get('password') email = request.json.get('email') if username is None or password is None or email is None: abort(400, 'Missing username, password or email') if User.query.filter_by(username=username).first() is not None: abort(400, 'User already exists') user = User(username=username, email=email) user.hash_password(password) db.session.add(user) db.session.commit() return jsonify({'response': user.username + ' created'}), 201
def register(): # cut the page for authenticated users if current_user.is_authenticated: return redirect(url_for('index')) # declare the Registration Form form = RegistrationForm() if form.validate_on_submit(): user = User(username=form.username.data, email=form.email.data) user.set_password(form.password.data) db.session.add(user) db.session.commit() flash('Congrats! You have suceessfully registered.') return redirect(url_for('login')) return render_template('auth/register.html', title='Register', form=form)
def register(request): if request.method == 'GET': from logic.models import User new_user = User() new_user.uid = request.GET['reg_user'] new_user.password = request.GET['reg_password'] password_again = request.GET['reg_password_again'] new_user.name = request.GET['reg_name'] new_user.lobby_id = 0 new_user.iconnum = request.GET['iconnum'] new_user.status = 10000 new_user.latest_time = "2015-01-01 12:00:00" new_user.score = 0 new_user.win_num = 0 new_user.tie_num = 0 new_user.lose_num = 0 dict1 = {'login': '******', 'reg': '0'} form = RegisterForm() all_lobbies = Lobby.objects.all() lobbies = [] lobby_length = all_lobbies.__len__() for i in range(0, lobby_length): user_num = User.objects.filter(lobby_id=(i + 1)).__len__() lobby = {'user_num': user_num, 'lobby_name': all_lobbies[i].name} lobbies.append(lobby) if new_user.password == password_again: if not has_same_uid(new_user): new_user.save() return render(request, 'index.html', { 'Dict': json.dumps(dict1), 'lobbies': lobbies, 'form': form, }) else: dict1['reg'] = '1' return render(request, 'index.html', { 'Dict': json.dumps(dict1), 'lobbies': lobbies, 'form': form, }) else: dict1['reg'] = '2' return render(request, 'index.html', { 'Dict': json.dumps(dict1), 'lobbies': lobbies, 'form': form, })
def register(request): if request.method == 'GET': from logic.models import User new_user = User() new_user.uid = request.GET['reg_user'] new_user.password = request.GET['reg_password'] password_again = request.GET['reg_password_again'] new_user.name = request.GET['reg_name'] new_user.lobby_id = 0 if new_user.password == password_again: if not has_same_uid(new_user): new_user.save() return HttpResponseRedirect("http://127.0.0.1:8000") else: return HttpResponse("same name!") else: return HttpResponse("两次密码输入不一致!")
def create_admin(name, password): if not all([name, password]): print("参数错误") user = User() user.nick_name = name user.mobile = name user.password = password user.is_admin = True try: db.session.add(user) db.session.commit() except Exception as err: print(err) db.session.rollback()
def login(request): if request.method == 'POST': if request.session['has_loggedin']: from logic.models import User cur_user = User.objects.get(uid=request.session['uid']) userdict = { 'uid': cur_user.uid, 'name': cur_user.name, 'iconnum': cur_user.iconnum } all_lobbies = Lobby.objects.all() lobbies = [] lobby_length = all_lobbies.__len__() for i in range(0, lobby_length): lobby = { 'user_num': User.objects.filter(lobby_id=(i + 1)).__len__(), 'lobby_name': all_lobbies[i].name } lobbies.append(lobby) into_lobby_form = IntoLobbyForm() return render( request, 'login_complete.html', { 'Dict': json.dumps(userdict), 'lobbies': lobbies, 'into_lobby_form': into_lobby_form, }) from logic.models import User cur_user = User() form = RegisterForm(request.POST) if form.is_valid(): username = form.cleaned_data['uid'] password = form.cleaned_data['password'] q = User.objects.filter(uid=username, password=password) if q.__len__() != 0: cur_user.name = q[0].name cur_user.uid = q[0].uid cur_user.iconnum = q[0].iconnum userdict = { 'uid': username, 'name': cur_user.name, 'iconnum': cur_user.iconnum } request.session['has_loggedin'] = True request.session['uid'] = cur_user.uid all_lobbies = Lobby.objects.all() lobbies = [] lobby_length = all_lobbies.__len__() for i in range(0, lobby_length): lobby = { 'user_num': User.objects.filter(lobby_id=(i + 1)).__len__(), 'lobby_name': all_lobbies[i].name } lobbies.append(lobby) into_lobby_form = IntoLobbyForm() return render( request, 'login_complete.html', { 'Dict': json.dumps(userdict), 'lobbies': lobbies, 'into_lobby_form': into_lobby_form, }) else: all_lobbies = Lobby.objects.all() lobbies = [] lobby_length = all_lobbies.__len__() for i in range(0, lobby_length): lobby = { 'user_num': User.objects.filter(lobby_id=(i + 1)).__len__(), 'lobby_name': all_lobbies[i].name } lobbies.append(lobby) dict1 = {'login': '******', 'reg': '0'} return render(request, 'index.html', { 'Dict': json.dumps(dict1), 'lobbies': lobbies, 'form': form, }) else: form = RegisterForm() all_lobbies = Lobby.objects.all() lobbies = [] lobby_length = all_lobbies.__len__() for i in range(0, lobby_length): lobby = { 'user_num': User.objects.filter(lobby_id=(i + 1)).__len__(), 'lobby_name': all_lobbies[i].name } lobbies.append(lobby) return render_to_response("index.html", { 'form': form, 'lobbies': lobbies, }, context_instance=RequestContext(request))