def post(self): args = lor_parser.parse_args() phone = args.get('phone') code = args.get('code') print(type(code), phone) cache_code = cache.get(phone) print(cache_code, type(cache_code)) if cache_code and code == str(cache_code): user = User.query.filter(User.phone == phone).first() if not user: user = User() user.phone = phone now_time = datetime.now().strftime('%Y%m%d%H%M%S') user.username = '******' + now_time db.session.add(user) db.session.commit() token = str(uuid.uuid4()) print(token, '--------') cache.set(token, phone) return jsonify(code=200, msg='登录成功', token=token) else: return jsonify(code=400, msg='验证码错误')
def check_super_admin(): # Check if admin is existed in db. try: user = User.query.filter_by(username='******').first() # If user is none. if user is None: # Create admin user if it does not existed. user = User(username='******', password='******', email='*****@*****.**', user_role='super_admin') # Add user to session. db.session.add(user) # Commit session. db.session.commit() # Print admin user status. print("Super admin was set.") else: # Print admin user status. print("Super admin already set.") except Exception as e: print("databases connect Error!!!") print(e) sys.exit(1)
def register(): validate_form = RegisterForm(request.form) if request.method == 'GET': pass if request.method == 'POST' and validate_form.validate(): with db.auto_commit(): user = User() user.set_attrs(validate_form.data) db.session.add(user) return redirect(url_for('web.login')) # 这个地方也必须要做一个return 返回才可以 return render_template('auth/register.html', form=validate_form)
def init_create_user(): db = get_session() try: user = User(username='******', password='******', email='*****@*****.**', is_staff=True) db.add(user) user2 = User( username='******', password='******', email='*****@*****.**', ) db.add(user2) db.commit() except Exception as e: logging.error(e) db.rollback()
def createSampleUser(n=10): rge_lng = [135.776338, 135.789470] rge_lat = [35.025129, 35.038693] users = [] lng_max = n lat_max = n rge_lng.append((rge_lng[1] - rge_lng[0]) / lng_max) rge_lat.append((rge_lat[1] - rge_lat[0]) / lat_max) for lng_num in range(lng_max): for lat_num in range(lat_max): user = User(rge_lat[2] * lat_num + rge_lat[0], rge_lng[2] * lng_num + rge_lng[0]) users.append(user) return users
def post(self): args = create_parser.parse_args() db = get_session() try: if db.query(User).filter_by(username=args['username']).first(): return fail_response('Already existed username') if db.query(User).filter_by(email=args['email']).first(): return fail_response('Already existed email') is_valid, err_msg = check_username(args['username']) if not is_valid: return fail_response(err_msg) is_valid, err_msg = check_password(args['password'], args['password_confirmed']) if not is_valid: return fail_response(err_msg) is_valid, err_msg = check_email(args['email']) if not is_valid: return fail_response(err_msg) user = User(username=args['username'], password=args['password'], email=args['email']) db.add(user) db.commit() except Exception as e: logging.error(e) db.rollback() return fail_response('Error while create user') data = { 'id': user.id, 'username': user.username, 'email': user.email, 'created_on': user.created_on } return success_response(data)
def post(self): """ 用户注册 :return: json """ email = request.json.get('email') name = request.json.get('name') password = request.json.get('password') address = request.json.get('address') print('request.form', email) user = User(name=name, email=email, address=address, password=User.set_password(password)) print('user', user) result = User.add(user) if user.id: returnUser = { 'id': user.id, 'name': user.name, 'email': user.email, 'address': user.address } return jsonify(trueReturn(returnUser, "用户注册成功")) else: return jsonify(falseReturn('', '用户注册失败'))
def oauth2callback(): from apps.utils.oauth2 import AuthorizeTokens authorizationcode = request.args.get('code', '') useremail = request.args.get('state', '') response = AuthorizeTokens( GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, authorizationcode, redirect_uri=REDIRECT_URI, google_account_base_url=GOOGLE_ACCOUNTS_BASE_URL) accesstoken = response["access_token"] proxies = dict(http='socks5://127.0.0.1:1080', https='socks5://127.0.0.1:1080') r = requests.get( 'https://www.googleapis.com/oauth2/v1/userinfo?access_token=' + accesstoken, proxies=proxies) j = json.loads(r.text) if useremail != j['email']: return "e-mail和授权email不匹配" options = {} options["email"] = j.get("email") options["firstname"] = j.get("given_name") options["lastname"] = j.get("family_name") options["accesstoken"] = accesstoken if not IS_DATABASE: from apps.models.user import USER_NAMES, USERS if options["email"] in USER_NAMES: userid = USER_NAMES.get(options['email']).id else: userid = len(USERS) + 1 u = User(options.get("email"), userid, options.get("firstname"), options.get("lastname"), accesstoken) USERS[userid] = u else: u = User.query.filter(User.email == options['email']).first() if u: print u.id, u.email else: u = User(options['email']) print accesstoken db.session.add(u) db.session.commit() loginit = login_user(u, remember="yes") if loginit == True: # 用request_loader, 神坑 session['remember'] = 'clear' # 生成token,并返回 token = u.hmac_md5(int(time.time())) token = 'token:%s' % token session['token'] = token redis_local_db.setex(token, 600, u.id) return jsonify({'c': 0, 'd': {'token': token}}) return "Some Problem happened"
def __init__(self): self.user = User() self.post = Post() self.pet = Pet() self.db = DB() self.report = Report()