コード例 #1
0
 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)
コード例 #2
0
ファイル: manage.py プロジェクト: lvaka/folio
    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))
コード例 #3
0
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)
コード例 #4
0
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)
コード例 #5
0
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()
コード例 #6
0
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.'
コード例 #7
0
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)
コード例 #8
0
ファイル: dao.py プロジェクト: lpcpp/Jeep
def create_user(username, password):
    user = User(username=username, password=md5(password))
    user.save()
コード例 #9
0
ファイル: data.py プロジェクト: Samy-ib/flask-admin-vueJS
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
コード例 #10
0
ファイル: views.py プロジェクト: Dstarjohn/blog-for-django
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}))  # 响应页面