예제 #1
0
    def setUp(self):
        #调用app

        app.config.update(
            #处于测试环境
            TESTING=True,
            #用缓存数据库  memory 内存数据库
            SQLALCHEMY_DATABASE_URI="sqlite:///:memory:")

        # 往库中

        db.create_all()
        user = User(name="Test", username="******")
        user.set_password("123456")

        movie = Movie(title="Test Movie Title", year="2020")
        #add一条上传  add_all 多条列表上传
        db.session.add_all([user, movie])

        db.session.commit()

        # 创建一个测试用的客户端模拟 浏览器
        self.client = app.test_client()

        #创建测试命令运行器
        self.runner = app.test_cli_runner()
예제 #2
0
def sign_up():
    """SIGN-UP page which allows users to register."""
    if current_user.is_authenticated:
        flash("You have alredy logged in.")
        return redirect(url_for("app.home"))
    else:
        form = SignUpForm()
        if form.validate_on_submit():
            user = User.query.filter_by(username=form.username.data).first()
            if user is None:
                user = User(username=form.username.data)
                user.set_password(form.password.data)
                db.session.add(user)
                db.session.commit()
                login_user(user)
                flash("Sucessfully registered.")
                flash("Sucessfully logged in.")
                return redirect(url_for("app.home"))

            flash("A user already exists with that email address.")

        return render_template(
            "sign-up.html",
            form=form,
            page_title="SIGN-UP",
            page_color="black",
        )
예제 #3
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    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('Congratulations, you are now a registered user!')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
예제 #4
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    form = RegistrationForm()
    if form.validate_on_submit():
        if form.validate_on_submit():
            user = User(username=form.username.data, email=form.email.data)
            user.set_password(form.password.data)
            user.save()
            flash("User registered! Please Log in", "success")
        return redirect(url_for("users.login"))
    return render_template("users/register.html", title="Register", form=form)
예제 #5
0
파일: fakes.py 프로젝트: xue000/Blog
def fake_admin():
    admin = User(name='Difan Xue',
                 username='******',
                 email='*****@*****.**',
                 bio=fake.sentence(),
                 location=fake.city(),
                 member_since=fake.date_this_decade(),
                 website='http://xuedifan.pythonanywhere.com',
                 )
    admin.set_password('helloflask')
    db.session.add(admin)
    db.session.commit()
예제 #6
0
def register():
    if request.method == 'POST':
        email = request.form['email']
        password = request.form['password']

        new_user = User(email)
        new_user.set_password(password)

        db.session.add(new_user)
        db.session.commit()

        return redirect(url_for('users.login'))

    return render_template('users/register.html')
예제 #7
0
def admin(username, password):
    db.create_all()
    user = User.query.first()
    if user is not None:
        click.echo('更新用户')
        user.username = username
        user.set_password(password)
    else:
        click.echo('创建用户')
        user = User(username=username, name="ZY")
        user.set_password(password)
        db.session.add(user)
    db.session.commit()
    click.echo('创建管理员账号完成')
예제 #8
0
def register():
    """User Registration page view function"""
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    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(_('Congratulations, you are now a registered user'))
        return redirect(url_for('auth.login'))
    return render_template(
        'auth/register.html', title=_('Register'), form=form)
예제 #9
0
def register(request):
    if ('email' or 'pwd') not in request.GET:
        lf = LoginForm()
        return render_to_response('register.html', {'lf': lf})
    lf = LoginForm(request.GET)
    email = lf.data['email']
    pwd = lf.data['pwd']
    user = User()
    user.username = uuid.uuid1()
    user.email = email
    user.set_password(pwd)
    user.desc = 'lazy'
    user.save()
    user.user_permissions = [Permission.objects.get(name='Can see news'), Permission.objects.get(name='Can edit news')]
    return HttpResponseRedirect("/blog/login/")
예제 #10
0
    def setUp(self):
        # 更新配置
        app.config.update(TESTING=True,
                          SQLALCHEMY_DATABASE_URI='sqlite:///:memory:')

        db.create_all()
        user = User(name='Test', username='******')
        user.set_password('123456')
        movies = Movies(title='test movie title', year=2020)

        db.session.add_all([user, movies])
        db.session.commit()

        self.client = app.test_client()  # 测试客户端
        self.runner = app.test_cli_runner()  # 创建测试
예제 #11
0
 def post(self, request, format=None):
     serializer = RegisterSerializer(data=request.data)
     if not serializer.is_valid():
         return Response(serializer.errors,
                         status=status.HTTP_400_BAD_REQUEST)
     user = User.objects.get(username=serializer.data.get('username'))
     if user is not None:
         return Response(status=status.HTTP_400_BAD_REQUEST)
     if serializer.data.get('password') != serializer.data.get('password1'):
         return Response(status=status.HTTP_400_BAD_REQUEST)
     user = User()
     user.username = serializer.data.get('username')
     user.set_password(serializer.data.get('password'))
     user.save()
     return Response(serializer.data, status=status.HTTP_201_CREATED)
예제 #12
0
    def setUp(self):

        app.config.update(TESTING=True,
                          SQLALCHEMY_DATABASE_URI='sqlite:///:memory:')

        db.create_all()

        user = User(name='Test', username='******')
        user.set_password('123456')
        movie = Movie(title='测试电影名称', year='2020')
        db.session.add_all([user, movie])
        db.session.commit()

        self.client = app.test_client()
        self.runner = app.test_cli_runner()
예제 #13
0
파일: fakes.py 프로젝트: xiaohaosang/Blog
def fake_admin():
    admin_role = Role.query.filter_by(name='Administrator').first()
    admin = User(name='Xiao hao',
                 username='******',
                 email='*****@*****.**',
                 bio=fake.sentence(),
                 website='',
                 role_id=admin_role.id,
                 confirmed=True)
    admin.set_password('xiaohaosang')
    notification = Notification(message='Hello, welcome to Blog.',
                                receiver=admin)
    db.session.add(notification)
    db.session.add(admin)
    db.session.commit()
예제 #14
0
파일: fakes.py 프로젝트: xue000/Blog
def fake_user(count=10):
    for i in range(count):
        user = User(name=fake.name(),
                    username=fake.user_name(),
                    bio=fake.sentence(),
                    location=fake.city(),
                    website=fake.url(),
                    member_since=fake.date_this_decade(),
                    email=fake.email())
        user.set_password('123456')
        db.session.add(user)
        try:
            db.session.commit()
        except IntegrityError:
            db.session.rollback()
예제 #15
0
파일: base.py 프로젝트: xue000/Blog
    def setUp(self):
        app = create_app('testing')
        self.context = app.test_request_context()
        self.context.push()
        self.client = app.test_client()
        self.runner = app.test_cli_runner()

        db.create_all()
        Role.init_role()

        admin_user = User(email='*****@*****.**',
                          name='Admin',
                          username='******')
        admin_user.set_password('123')
        admin_user.set_role()
        normal_user = User(email='*****@*****.**',
                           name='Normal User',
                           username='******')
        normal_user.set_password('123')
        unconfirmed_user = User(
            email='*****@*****.**',
            name='Unconfirmed',
            username='******',
        )
        unconfirmed_user.set_password('123')
        locked_user = User(email='*****@*****.**',
                           name='Locked User',
                           username='******',
                           locked=True)
        locked_user.set_password('123')
        locked_user.lock()

        blocked_user = User(email='*****@*****.**',
                            name='Blocked User',
                            username='******',
                            active=False)
        blocked_user.set_password('123')

        category = Category(name='test category')
        post = Post(title='test post', body='Test post', category=category)
        comment = Comment(body='test comment body',
                          post=post,
                          author=normal_user)
        db.session.add_all([
            admin_user, normal_user, unconfirmed_user, locked_user,
            blocked_user
        ])
        db.session.commit()
예제 #16
0
def init_db():
    db.create_all()

    user1 = User(username="******")
    user1.set_password("test")

    user2 = User(username="******")
    user2.set_password("password2")

    post1 = Post(title="Post by user 1", contents="Contens from user 1", user=user1)
    post2 = Post(title="Post by user 2", contents="Contens from user 2", user=user2)

    db.session.add(user1, user2)
    db.session.add(post1, post2)

    db.session.commit()
예제 #17
0
def admin(username, password):
    """Create user."""
    db.create_all()

    user = User.query.first()
    if user is not None:
        click.echo('Updating user...')
        user.username = username
        user.set_password(password)
    else:
        click.echo('Creating user...')
        user = User(username=username, name='Admin')
        user.set_password(password)
        db.session.add(user)

    db.session.commit()
    click.echo('Done.')
예제 #18
0
    def setUp(self):
        # 更新配置  在开发和测试时候通常配置是不一样
        app.config.update(
            TESTING=True,  # 开启测试模式  出错时候不会输出多余的信息
            SQLALCHEMY_DATABASE_URI=
            'sqlite:///:memory:'  # SQLite内存型数据库,不会干扰开发时使用的数据库文件
        )
        # 创建数据库和表
        db.create_all()
        # 创建测试数据,一个用户,一个电影信息
        user = User(name='Test', username='******')
        user.set_password('123456')
        movie = Movie(title='测试电影名称', year='2020')
        db.session.add_all([user, movie])
        db.session.commit()

        self.client = app.test_client()  # 创建测试客户端(模拟客户端请求)
        self.runner = app.test_cli_runner()  # 创建测试命令运行器(触发自定义命令)
예제 #19
0
파일: auth.py 프로젝트: xiaohaosang/Blog
def register():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))

    form = RegisterForm()
    if form.validate_on_submit():
        name = form.name.data
        email = form.email.data.lower()
        username = form.username.data
        password = form.password.data
        user = User(name=name, email=email, username=username)
        user.set_password(password)
        db.session.add(user)
        db.session.commit()
        token = generate_token(user=user, operation='confirm')
        send_confirm_email(user=user, token=token)
        flash('Confirm email sent, check your inbox.', 'info')
        return redirect(url_for('.login'))
    return render_template('auth/register.html', form=form)
예제 #20
0
    def setUp(self):
        # 更新配置
        app.config.update(TESTING=True,
                          SQLALCHEMY_DATABASE_URI='sqlite:///:memory:')

        # 创建数据库和表
        db.create_all()

        # 创建测试数据
        user = User(name='Test1', username='******')
        user.set_password('123456')
        movie = Movie(title='Test Movie Title', year='2019')
        # 使用add_all()方法一次添加多个模型类实例,传入列表
        db.session.add_all([user, movie])
        db.session.commit()

        # 创建测试客户端
        self.client = app.test_client()
        # 创建测试命令运行器
        self.runner = app.test_cli_runner()
예제 #21
0
파일: views.py 프로젝트: ccjoness/MarchBlog
def register(request):
    if request.method == 'POST':
        usr = User()
        usr.username = request.POST.get('username')
        # usr.password
        usr.set_password(request.POST.get('password'))
        usr.email = request.POST.get('email')
        usr.phone = request.POST.get('phone')
        usr.bio = request.POST.get('bio')
        usr.save()

        image_file = request.FILES.get('image')
        if image_file:
            img = ProfileImage()
            img.file = image_file
            img.alt_text = request.POST.get('alt_text', 'none')
            img.description = request.POST.get('img_desc', 'none')
            img.user = usr
            img.save()
        return redirect('login')

    return render(request, 'register.html')
예제 #22
0
 def test_password_hashing(self):
     u = User(username='******')
     u.set_password('cat')
     self.assertFalse(u.check_password('dog'))
     self.assertTrue(u.check_password('cat'))