def post(self, request, format=None): user = UserSerializers(User(), data=request.data) if user.is_valid(): user.save() json_data = {"msg": "保存成功", "code": 1} else: # print(user.errors) json_data = {"msg": user.error_messages, "code": 0} return Response(json_data)
def run(self, user, password): """Create user.""" password = generate_password_hash(password) user = User(name=user, password=password) db.session.add(user) db.session.commit() print("User: %s\nPassword: %s " % (user, password))
def signup(): form = RegisterForm() if form.validate_on_submit(): hashed_password = generate_password_hash(form.password.data, method='sha256') new_user = User(name=form.name.data, username=form.username.data, email=form.email.data, password=hashed_password) db.session.add(new_user) db.session.commit() return '<h1>' + form.username.data + ' has been registered </h1>' return render_template('signup.html', form=form)
def admin_user_add(request): context = RequestContext(request) new_user = User() if request.method == 'POST': # Retrieve data. new_user.username = request.POST.get('username') new_user.first_name = request.POST.get('first-name') new_user.last_name = request.POST.get('last-name') new_user.email = request.POST.get('email') if request.POST.get('rol', ''): new_user.is_admin = True new_user.role = request.POST.get('role') # Check if username already exists. try: User.objects.get(username=request.POST.get('username')) except User.DoesNotExist: # Password verification password = request.POST.get('password') confirm_password = request.POST.get('confirm-password') if password == confirm_password: new_user.set_password(password) else: messages.error(request, u"Las contraseñas no coinciden.", context) return TemplateResponse(request, 'admin/admin_users_add.html', context) # Save user! new_user.save() messages.info( request, u"El usuario '%s' ha sido creado." % new_user.username) return HttpResponseRedirect( reverse('admin.views.admin_user_list', urlconf='admin.urls'), context) # If username exist notify user. if User.objects.get(username=request.POST.get('username')): context.update({'new_user': new_user}) messages.error( request, u"El nombre de usuario '%s' ya existe." % request.POST.get('username')) return TemplateResponse(request, 'admin/admin_users_add.html', context) return TemplateResponse(request, 'admin/admin_users_add.html', context)
def preload(): user_manager = UserManager(app, db, User) if not User.query.filter(User.email == '*****@*****.**').first(): user = User( email='*****@*****.**', email_confirmed_at=datetime.datetime.utcnow(), password=user_manager.hash_password('Password1'), ) user.roles.append(Role(name='admin')) db.session.add(user) db.session.commit() for role in ROLES: if not Role.query.filter(Role.name == role).first(): r = Role(name=role) db.session.add(r) db.session.commit()
def build_users(): from database import db from admin.models import guest_role, super_user_role, User # ----------------------------------------- db.session.add(guest_role) db.session.add(super_user_role) db.session.commit() # ------------------------ root = User( email="*****@*****.**", account=config.ROOT_USER, roles=[super_user_role], password=config.ROOT_PASSWD, active=True, ) db.session.add(root) db.session.commit() print 'build users finished.'
def create(): form = CreateForm() if form.validate_on_submit(): user = User.query.filter_by(username=form.username.data).first() if (user): return render_template("create.html", form=form) else: user = User(request.form['username'], request.form['password']) # https://blog.openshift.com/use-flask-login-to-add-user-authentication-to-your-python-application/ db.session.add(user) db.session.commit() # return redirect(url_for(".login")) user = User.query.filter_by(username=form.username.data).one() z = Zagadnienie() z.user_id = user.user_id z.tytul = form.temat.data db.session.add(z) db.session.commit() login_user(user) flash("Logged in successfully.", "success") return redirect(request.args.get("next") or url_for(".home")) return render_template("create.html", form=form)
def create_user(username, password): user = User(username=username, password=md5(password)) user.save()
def build_sample_db(): """ Populate a small db with some example entries. """ db.drop_all() db.create_all() # Create sample Users first_names = [ 'Harry', 'Amelia', 'Oliver', 'Jack', 'Isabella', 'Charlie', 'Sophie', 'Mia', 'Jacob', 'Thomas', 'Emily', 'Lily', 'Ava', 'Isla', 'Alfie', 'Olivia', 'Jessica', 'Riley', 'William', 'James', 'Geoffrey', 'Lisa', 'Benjamin', 'Stacey', 'Lucy' ] last_names = [ 'Brown', 'Brown', 'Patel', 'Jones', 'Williams', 'Johnson', 'Taylor', 'Thomas', 'Roberts', 'Khan', 'Clarke', 'Clarke', 'Clarke', 'James', 'Phillips', 'Wilson', 'Ali', 'Mason', 'Mitchell', 'Rose', 'Davis', 'Davies', 'Rodriguez', 'Cox', 'Alexander' ] countries = [ ("ZA", "South Africa", 27, "ZAR", "Africa/Johannesburg"), ("BF", "Burkina Faso", 226, "XOF", "Africa/Ouagadougou"), ("US", "United States of America", 1, "USD", "America/New_York"), ("BR", "Brazil", 55, "BRL", "America/Sao_Paulo"), ("TZ", "Tanzania", 255, "TZS", "Africa/Dar_es_Salaam"), ("DE", "Germany", 49, "EUR", "Europe/Berlin"), ("CN", "China", 86, "CNY", "Asia/Shanghai"), ] user_list = [] for i in range(len(first_names)): user = User() country = random.choice(countries) user.type = random.choice(AVAILABLE_USER_TYPES)[0] user.first_name = first_names[i] user.last_name = last_names[i] user.email = first_names[i].lower() + "@example.com" user.website = "https://www.example.com" user.ip_address = "127.0.0.1" user.coutry = country[1] user.currency = country[3] user.timezone = country[4] user.dialling_code = country[2] user.local_phone_number = '0' + ''.join( random.choices('123456789', k=9)) user_list.append(user) db.session.add(user) # Create sample Tags tag_list = [] for tmp in [ "YELLOW", "WHITE", "BLUE", "GREEN", "RED", "BLACK", "BROWN", "PURPLE", "ORANGE" ]: tag = Tag() tag.name = tmp tag_list.append(tag) db.session.add(tag) # Create sample Posts sample_text = [{ 'title': "de Finibus Bonorum et Malorum - Part I", 'content': "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor \ incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud \ exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure \ dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. \ Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt \ mollit anim id est laborum." }, { 'title': "de Finibus Bonorum et Malorum - Part II", 'content': "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque \ laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto \ beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur \ aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi \ nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, \ adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam \ aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam \ corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum \ iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum \ qui dolorem eum fugiat quo voluptas nulla pariatur?" }, { 'title': "de Finibus Bonorum et Malorum - Part III", 'content': "At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium \ voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati \ cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id \ est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam \ libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod \ maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. \ Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet \ ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur \ a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis \ doloribus asperiores repellat." }] for user in user_list: entry = random.choice(sample_text) # select text at random post = Post() post.user = user post.title = "{}'s opinion on {}".format(user.first_name, entry['title']) post.text = entry['content'] post.background_color = random.choice( ["#cccccc", "red", "lightblue", "#0f0"]) tmp = int(1000 * random.random()) # random number between 0 and 1000: post.date = datetime.datetime.now() - datetime.timedelta(days=tmp) post.tags = random.sample(tag_list, 2) # select a couple of tags at random db.session.add(post) # Create a sample Tree structure trunk = Tree(name="Trunk") db.session.add(trunk) for i in range(5): branch = Tree() branch.name = "Branch " + str(i + 1) branch.parent = trunk db.session.add(branch) for j in range(5): leaf = Tree() leaf.name = "Leaf " + str(j + 1) leaf.parent = branch db.session.add(leaf) db.session.commit() return
def github_check(request): type = '1' request_code = request.GET.get("code") oauth_git = OAuthGithub(settings.GITHUB_CLIENT_ID, settings.GITHUB_CLIENT_SECRET, settings.GITHUB_CALLBACK_URL) try: oauth_git.get_access_token(request_code) # 获取access token time.sleep(0.1) # 此处需要休息一下,避免发送urlopen的10060错误 except Exception as e: # 获取token失败,反馈失败信息 print(e) return render(request, 'login.html', {"error": "获取token失败"}) infos = oauth_git.get_user_info() # 获取用户信息 print("用户信息: " + str(infos)) open_id = infos.get('id', '') nickname = infos.get('login', '') image_url = infos.get('avatar_url', '') email = infos.get('email', '') oauth_check = OAuth.objects.filter(openid=open_id).only('openid', 'user').first() if oauth_check: # 已存在该用户,直接登录 user = User.objects.get(id=oauth_check.user.id) if user.login_power == 1: request.session['user_name'] = user.user_name # (将用户信息存入session) request.session['user_id'] = user.id request.session['user_authority'] = user.user_authority return HttpResponseRedirect('/') # 回到主页 else: info = '该用户无登录权限,请联系管理员解封' return HttpResponseRedirect(reverse('oauth:github_response', kwargs={'info': info})) # 响应页面 else: if email != '': user = User.objects.filter(email=email).only('id', 'user_name', 'user_authority', 'login_power').first() if user: # 该邮箱对应的用户已经存在 oauth_user = OAuth(openid=open_id, user_id=user.id, type=type) oauth_user.save() if user.login_power == 1: request.session['user_name'] = user.user_name # (将用户信息存入session) request.session['user_id'] = user.id request.session['user_authority'] = user.user_authority return HttpResponseRedirect('/') # 回到主页 else: info = '该用户无登录权限,请联系管理员解封' return HttpResponseRedirect(reverse('oauth:github_response', kwargs={'info': info})) # 相应页面 else: # 邮箱对应的用户不存在,将github信息和用户信息写入数据库 if User.objects.filter(user_name=nickname): # 用户名重复 nickname = 'CM-' + nickname img_path = upload_user_img(image_url) if User.objects.count() == 0: user_o = User(user_img=img_path, user_name=nickname, password=make_password(nickname), email=email, user_authority=1, login_power=1, login_state=0) else: user_o = User(user_img=img_path, user_name=nickname, password=make_password(nickname), email=email, user_authority=0, login_power=1, login_state=0) user_o.save() oauth_user = OAuth(openid=open_id, user_id=user_o.id, type=type) oauth_user.save() request.session['user_name'] = user_o.user_name request.session['user_id'] = user_o.id request.session['user_authority'] = user_o.user_authority info = '授权登录成功,初始密码为用户名' return HttpResponseRedirect(reverse('oauth:github_response', kwargs={'info': info})) # 响应页面 else: info = '你的github账号尚未绑定邮箱' return HttpResponseRedirect(reverse('oauth:github_response', kwargs={'info': info})) # 响应页面