def user_regist(): form = RegistForm() if form.validate_on_submit(): # 查看用户名是否已经存在 user_name = form.user_name.data user_x = User.query.filter_by(name=user_name).first() if user_x: flash("用户名已经存在!", category='err') return render_template('user_regist.html', form=form) # 如果用户不存在,创建一个用户类的实例 user = User() user.name = form.user_name.data user.pwd = generate_password_hash(form.user_pwd.data) user.email = form.data['user_email'] user.phone = form.user_phone.data user.jianjie = form.user_jianjie.data user.uuid = str(uuid.uuid4().hex)[0:10] # 给每个用户分配一个10个字符的身份标识符 filestorage = request.files["user_face"] user.face = secure_filename_with_uuid(filestorage.filename) # 保存用户头像文件,执行插入操作 try: photosSet.save(storage=filestorage, folder=user.name, name=user.face) db.session.add(user) db.session.commit() flash("用户注册成功!", category='ok') return redirect(url_for("user_login", username=user.name)) except UploadNotAllowed: flash("头像文件格式不对!", category='err') return render_template('user_regist.html', form=form) return render_template('user_regist.html', form=form)
def create_user(): """User registration in the system.""" try: data = request.json first_name = request.json['first_name'] last_name = request.json['last_name'] email = request.json['email'] password = request.json['password'] user_info = User.query.filter_by(email=email).first() print(user_info) if user_info: message = "User already exits" code = 400 else: password = generate_password_hash(password) user = User() user.first_name = first_name user.last_name = last_name user.email = email user.password = password db.session.add(user) db.session.commit() message = "User create successfully" code = 200 except Exception as error: return jsonify({'message': str(error)}), 400 return jsonify({'message': message}), code
def test_group_user(): roles = ['FrontUser', 'Operator', 'Administrator', 'Super'] msg = {} for r in roles: role = Role(group=r) u = User() u.telephone = fake.phone_number() u.username = r + '-test' u.email = fake.ascii_free_email() u.password = '******' u.confirm = True u.realname = fake.name() with open('mxavatar.json', 'r') as f: avatar_list = json.load(f) u.avatar = choice(avatar_list) u.signature = fake.paragraph(nb_sentences=3, variable_nb_sentences=True) u.gender = GenderEnum(randint(1, 3)) u.join_time = fake.date_this_year(before_today=True, after_today=False) u.role = role db.session.add(u) msg[r] = u.telephone try: db.session.commit() except Exception as e: print(e) db.session.rollback() print('测试用户生成失败!') return print('测试用户生成成功!') print(msg)
def test_permission_user(): ps = [ 'LOGIN', 'VIEW_POST', 'PUBLISH_POST', 'PUBLISH_COMMENT', 'LOGIN_CMS', 'MANAGE_POST', 'MANAGE_COMMENTE', 'BOARDER', 'BANNER', 'FRONTUSER', 'CMSUSER', 'ADMINER' ] msg = {} for p in ps: permissions = Permission.ALL_PERMISSION - getattr(Permission, p) role = Role(name='FrontUser', permissions=permissions) u = User() u.telephone = fake.phone_number() u.username = '******' + p u.email = fake.ascii_free_email() u.password = '******' u.confirm = True u.realname = 'NOT-' + p with open('mxavatar.json', 'r') as f: avatar_list = json.load(f) u.avatar = choice(avatar_list) u.signature = fake.paragraph(nb_sentences=3, variable_nb_sentences=True) u.gender = GenderEnum(randint(1, 4)) u.join_time = fake.date_this_year(before_today=True, after_today=False) u.role = role db.session.add(u) msg[u.username] = u.telephone try: db.session.commit() except Exception: db.session.rollback() print('测试用户生成成功!') print(msg)
def front_user(count=10): fake = Faker(locale='zh_CN') n = 0 for i in range(count): u = User() u.telephone = fake.phone_number() u.username = fake.user_name() u.email = fake.ascii_free_email() u.password = '******' u.confirm = choice([True, False]) u.realname = fake.name() with open('mxavatar.json', 'r') as f: avatar_list = json.load(f) u.avatar = choice(avatar_list) u.signature = fake.paragraph(nb_sentences=3, variable_nb_sentences=True) u.gender = GenderEnum(randint(1, 4)) u.join_time = fake.date_this_year(before_today=True, after_today=False) role = Role() u.role = role db.session.add(u) try: db.session.commit() n += 1 except Exception: db.session.rollback() print('Front用户添加成功,共同添加%d个用户' % n)
def create_user(self, data, is_active=True): valid_input, valid_input_message = self.validate_signup_payload(data) if not valid_input: return {"success": valid_input, "message": valid_input_message} is_exists, exists_message = self.check_user_existence( data["email"], data["phone"]) if is_exists: return {"success": True, "message": exists_message} try: hash_text = data["email"] + data["phone"] + data["full_name"] hash_object = hashlib.md5(hash_text) unique_hash = hash_object.hexdigest() try: validation = Schema({ 'full_name': And(basestring, lambda n: 30 >= len(n) >= 3, error="Minimum 3 Characters are Required"), 'email': And(basestring, lambda n: len(n) >= 3, error="Minimum 3 Characters are Required"), 'phone': And(basestring, lambda n: len(n) >= 6, error="Minimum 6 Characters are Required"), "password": And(basestring, lambda n: len(n) >= 6, error="Minimum 6 Characters are Required") }).validate(data) except SchemaError as e: error = e.message return {"success": False, "message": error} account_create = User() user_id = str(uuid.uuid4()) account_create.username = user_id account_create.email = data['email'] account_create.phone = data['phone'] account_create.full_name = data['full_name'] account_create.is_active = is_active account_create.password = self.pwd_context.encrypt( data['password']) account_create.token = self.generate_api_token(unique_hash) account_create.save() return {"success": True, "message": "Created User Successfully"} except Exception as e: print(traceback.format_exc())
def register(): form = RegisterForm() if form.validate_on_submit(): # 检查用户上传的图像文件是否符合要求 if not check_files_extension([form.photo.data.filename], ALLOWED_IMAGE_EXTENSION): flash('图片格式不正确!', 'danger') return redirect(url_for('auth.register'), form=form) user_name_db = User.query.filter( User.name == form.user_name.data).first() if user_name_db: flash('用户名已经存在!', 'danger') return render_template('register.html', form=form) user_email_db = User.query.filter( User.email == form.email.data).first() if user_email_db: flash('邮箱已经被注册过!', 'danger') return render_template('register.html', form=form) user_phone_db = User.query.filter( User.phone == form.phone.data).first() if user_phone_db: flash('手机号已经被注册过!', 'danger') return render_template('register.html', form=form) user = User() user.name = form.user_name.data user.pwd = generate_password_hash(form.user_pwd.data) user.email = form.email.data user.phone = form.phone.data user.introduce = form.introduce.data user.birthday = form.birthday.data # 文件上传 # img_file = request.files['photo'] img_file = request.files.get('photo') user.photo = secure_filename(img_file.filename) flash('注册成功', 'success') db.session.add(user) db.session.commit() # file_path = file_bastpath + img_file.filename user_folder = os.path.join(app.config['UPLOADED_FOLDER'], user.name) create_folder(user_folder) img_file.save(os.path.join(user_folder, user.photo)) return redirect(url_for('auth.login', user_name=user.name)) # user_name = form.data['user_name'] return render_template('register.html', form=form)
def user_create(): form = UserForm(request.form) form.action = url_for('admin:user:create') form.level.choices = get_level() if form.validate_on_submit(): user = User() user.email = form.email.data user.password = form.password.data user.no_induk = form.no_induk.data level = Level.get(Level.id == form.level.data) jenkel = form.profile.jenis_kelamin.data nama = form.profile.nama.data profile = Profile.create(nama=nama, jenis_kelamin=jenkel) user.level = level user.profile = profile user.save() return redirect(url_for('admin:user:list')) if form.errors: print form.errors return render_template('admin/user/create.html', form=form)
def user_regist(): # 注册 form = RegistForm() if form.validate_on_submit( ): # 检查提交方式是否为post 验证forms.py定义的validators 验证是否通过 # 检查用户上传的头像文件名是否符合要求 # if not check_files_extension([form.user_face.data.filename], ALLOWED_IMAGEEXTENSIONS): # flash("头像文件格式错误!", category="err") # return render_template("user_regist.html", form=form) # 查看用户是否存在 user_name = form.user_name.data query_user_by_name = User.query.filter_by(name=user_name).first() if query_user_by_name: # 返回注册界面,重新注册 flash("用户名已存在!", category="err" ) # Flashes a message to the next request 闪现一条消息到下一次消息请求 return render_template("user_regist.html", form=form) query_user_by_email = User.query.filter_by( email=form.user_email.data).first() if query_user_by_email: # 返回注册界面,重新注册 flash("用户邮箱已被注册注册!", category="err" ) # Flashes a message to the next request 闪现一条消息到下一次消息请求 return render_template("user_regist.html", form=form) query_user_by_phone = User.query.filter_by( phone=form.user_phone.data).first() if query_user_by_phone: # 返回注册界面,重新注册 flash("手机号已被注册!", category="err" ) # Flashes a message to the next request 闪现一条消息到下一次消息请求 return render_template("user_regist.html", form=form) # print("form", form.user_name.data) # print("form", form.data) # print("form", form.data["user_name"]) # print("request.form", request.form) user = User() # user.name = request.form["user_name"] user.name = form.user_name.data # user.pwd = request.form["user_pwd"] user.pwd = generate_password_hash(form.user_pwd.data) # user.age = request.form["user_age"] user.phone = form.user_phone.data # user.birthday = request.form["user_birthday"] user.jianjie = form.user_jianjie.data # user.email = request.form["user_email"] user.email = form.user_email.data # user.face = request.form["user_face"] # user.face = form.user_face.data # filerstorage = form.user_face.data user.uuid = str(uuid.uuid4().hex)[0:10] # 10个字符长度 filerstorage = request.files["user_face"] # 获取头像文件 user.face = secure_filename_with_uuid( filerstorage.filename ) # secure_filename 文件名安全性检测,如果文件名有特殊字符,会将特殊字符转义,没有就返回原文件名 # print(user.face) # 保存用户头像文件 # user_folder = os.path.join(app.config["UPLOADS_FOLDER"], user.name) # create_folder(user_folder) # 创建用户文件夹 # filerstorage.save(os.path.join(user_folder, user.face)) try: photosSet.save(storage=filerstorage, folder=user.name, name=user.face) # 如果不存在执行插入操作,创建一个用户类 User 的实例 # 插入一条数据 db.session.add(user) db.session.commit() flash("注册成功!", category="ok") # username作为查询参数带到url中去 # 重定向页面 生成url 执行 user_login 函数 跳转到登录界面 return redirect(url_for("user_login", username=user.name)) except UploadNotAllowed: flash("头像文件格式错误!", category="err") return render_template("user_regist.html", form=form) return render_template("user_regist.html", form=form)