コード例 #1
0
 def test_invalid_confirmation_token(self):
     u1 = User(password='******')
     u2 = User(password='******')
     db.session.add(u1)
     db.session.add(u2)
     db.session.commit()
     token = u1.generate_confirmation_token()
     self.assertFalse(u2.confirm(token))
コード例 #2
0
 def test_duplicate_email_change_token(self):
     u1 = User(email='*****@*****.**', password='******')
     u2 = User(email='*****@*****.**', password='******')
     db.session.add(u1)
     db.session.add(u2)
     db.session.commit()
     token = u2.generate_email_change_token('*****@*****.**')
     self.assertFalse(u2.change_email(token))
     self.assertTrue(u2.email == '*****@*****.**')
コード例 #3
0
 def test_invalid_reset_token(self):
     u1 = User(password='******')
     u2 = User(password='******')
     db.session.add(u1)
     db.session.add(u2)
     db.session.commit()
     token = u1.generate_reset_token()
     self.assertFalse(u2.reset_password(token, 'horse'))
     self.assertTrue(u2.verify_password('dog'))
コード例 #4
0
 def test_timestamps(self):
     u = User(password='******')
     db.session.add(u)
     db.session.commit()
     self.assertTrue(
         (datetime.utcnow() - u.member_since).total_seconds() < 3)
     self.assertTrue((datetime.utcnow() - u.last_seen).total_seconds() < 3)
コード例 #5
0
ファイル: populate.py プロジェクト: zengzhengrong/flask_blog
def populte():
    print('drop database')
    db.drop_all()
    print('drop done')
    print('create database')
    db.create_all()
    print('create database done')
    print('creating......')
    for user in users:
        hash_password = bcrypt.generate_password_hash(
            user.get('password')).decode('utf-8')
        create_user = User(username=user.get('username'),
                           email=user.get('email'),
                           password=hash_password)
        account = Account()
        create_user.account = account
        db.session.add(create_user)
        db.session.commit()
        print('create user success')
    print('create users done')
    admin = User.query.filter_by(username='******').first()
    for post in posts:
        create_post = Post(title=post, content=post * 3, author=admin)
        db.session.add(create_post)
        db.session.commit()
        print('create post success')
    print('done')
コード例 #6
0
def test_db():
    tables_name = ['user','post','account']
    print('开始测试')
    for name in tables_name:
        model_name = name.title()
        with app.app_context():
            count = eval(f'len({model_name}.query.all())')
            print(f'准备测试{model_name}模型,测试数量为{count}')
            for i in range(count+1):
                with app.app_context(): # 重点:这里app上下文必须要在循环内,app.app_context().push()方式无效
                    try:
                        model = None
                        if model_name == 'User':
                            model = User(username='******',email='*****@*****.**',password='******')
                        if model_name == 'Post':
                            test = User.query.filter_by(username='******').first()
                            model = Post(title='test',content='test'*3,author=test)
                        if model_name == 'Account':
                            test = User.query.filter_by(username='******').first()
                            model = Account()
                            model.user_id = test.id
                        if model is not None:
                            db.session.add(model)
                            db.session.commit()                           
                    except Exception as e:
                        time.sleep(0.01)
                        # print(e)
                        print(f'{model_name}模型执行第{i}次')
コード例 #7
0
ファイル: routes.py プロジェクト: temmyzeus/flask_blog
def register():
    # If Current user is authenticated, redirect to homepage
    if current_user.is_authenticated:
        return redirect(url_for("home"))

    form = RegistrationForm()
    # To check Validation
    if form.validate_on_submit():
        # Hash user password
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode("utf-8")

        # Collect data form the Form Fields and instantiate to the "User" Model
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password)

        # Add User
        db.session.add(user)
        # Create user Account
        db.session.commit()
        flash("Your account has been created you're now able to login!",
              "success")
        return redirect(url_for("login"))
    return render_template("register.html", title="Register", form=form)
コード例 #8
0
def registration():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        #Flashing success message
        flash(f'Your account has been created! You are now able to login.',
              'success')

        #Take password from form, then decode it into utf-8 format
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')

        #Create instance of User class for inserting into database
        new_user = User(username=form.username.data,
                        email=form.email.data,
                        password=hashed_password)

        #Add new user
        db.session.add(new_user)
        #Commit changes
        db.session.commit()

        #Redirects you to homepage
        return redirect(url_for('users.login'))
    return render_template('register.html', form=form, title='Register')
コード例 #9
0
ファイル: routes.py プロジェクト: antoineratat/shipping_flask
def register():
    if current_user.is_authenticated:
        return redirect(url_for('shops.shop'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(first_name=form.first_name.data,
                    last_name=form.last_name.data,
                    email=form.email.data,
                    password=hashed_password,
                    address=form.address.data,
                    city=form.city.data,
                    state=form.state.data,
                    postcode=form.postcode.data,
                    country=form.country.data,
                    phone=form.phone.data)
        db.session.add(user)
        db.session.commit()
        send_welcome_email(user)
        flash('Your account has been created! You are now able to Login',
              'success')
        return redirect(url_for('users.login'))

    return render_template('register.html', title='Register', form=form)
コード例 #10
0
 def test_valid_email_change_token(self):
     u = User(email='*****@*****.**', password='******')
     db.session.add(u)
     db.session.commit()
     token = u.generate_email_change_token('*****@*****.**')
     self.assertTrue(u.change_email(token))
     self.assertTrue(u.email == '*****@*****.**')
コード例 #11
0
ファイル: forms.py プロジェクト: xautxuqiang/flask_blog
 def create_user(self):
     user = User()
     user.username = self.username.data
     user.password = self.password.data
     db.session.add(user)
     db.session.commit()
     return user
コード例 #12
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form = RegisterationForm()
    if request.method == 'POST':
        if form.validate_on_submit():
            hashed_pwd = app_bcrypt.generate_password_hash(
                form.password.data, 13)
            user_path = os.path.join(
                app.root_path, 'static/images/profile_pics/')
            user_dir_name = f'{secrets.token_hex(12)}/'
            full_user_path = f'{user_path}{user_dir_name}'
            os.mkdir(full_user_path)
            user = User(username=form.username.data.strip(),
                        email=form.email.data.lower(), profile_dir=user_dir_name, password=hashed_pwd)

            db.session.add(user)
            db.session.commit()
            flash(f'Your account has been created! You are now able to log in', 'success')
            return redirect(url_for('login'))

        flash(f'The submitted data is not corrent. Please enter correct info!', 'failure')

    return render_template('register.html', page_title='Flask Blog | Register', form=form)
コード例 #13
0
 def test_valid_reset_token(self):
     u = User(password='******')
     db.session.add(u)
     db.session.commit()
     token = u.generate_reset_token()
     self.assertTrue(u.reset_password(token, 'dog'))
     self.assertTrue(u.verify_password('dog'))
コード例 #14
0
 def test_expired_confirmation_token(self):
     u = User(password='******')
     db.session.add(u)
     db.session.commit()
     token = u.generate_confirmation_token(1)
     time.sleep(2)
     self.assertFalse(u.confirm(token))
コード例 #15
0
def run_user():
    user = User(username='******', password='******')
    db.session.add(user)
    try:
        db.session.commit()
    except Exception as e:
        print(e)
        db.session.rollback()
コード例 #16
0
 def test_ping(self):
     u = User(password='******')
     db.session.add(u)
     db.session.commit()
     time.sleep(2)
     last_seen_before = u.last_seen
     u.ping()
     self.assertTrue(u.last_seen > last_seen_before)
コード例 #17
0
    def setUp(self):
        self.user_1 = User(id=1,
                           username='******',
                           email='*****@*****.**',
                           password='******')
        self.user_2 = User(id=2,
                           username='******',
                           email='*****@*****.**',
                           password='******')

        self.post_1 = Post(title="User_1's first post",
                           content='This is some content for my first post.',
                           user_id=self.user_1.id)
        self.post_2 = Post(title="User_1's second post",
                           content='This is some content for my second post.',
                           user_id=self.user_1.id)
        self.post_3 = Post(title="User_2's first post",
                           content='Blah, blah, blah',
                           user_id=self.user_2.id)
コード例 #18
0
 def test_to_json(self):
     u = User(email='*****@*****.**', password='******')
     db.session.add(u)
     db.session.commit()
     json_user = u.to_json()
     expected_keys = [
         'url', 'username', 'member_since', 'last_seen', 'posts',
         'followed_posts', 'post_count'
     ]
     self.assertEqual(sorted(json_user.keys()), sorted(expected_keys))
     self.assertTrue('api/v1.0/users/' in json_user['url'])
コード例 #19
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for("home"))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user = User(username=form.username.data, email=form.email.data, password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash(f'Account created for {form.username.data},You can login now.')
        return redirect(url_for("login"))
    return render_template('register.html', title="register", form=form)
コード例 #20
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm(request.form)
    if request.method == "POST" and form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user = User(username=form.username.data, email=form.email.data, password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash("Account created for {0}!".format(form.username.data))
        return redirect(url_for('login'))
    return render_template("register.html", title="Register", form=form)
コード例 #21
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user = User(username=form.username.data, email=form.email.data, password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash('Your account has been created! You are now able to log in', 'success')
        return redirect(url_for('users.login'))
    return render_template('register.html', title='Register', form=form)
コード例 #22
0
ファイル: routes.py プロジェクト: lamine860/flask_blog
def sign_up():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationFrom()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data)
        user = User(username=form.username.data, email=form.email.data, password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash('Your account has been created! Your are now able to login', 'success')
        return redirect(url_for('home'))

    return render('sign_up.html', form=form, title='Sign Up')
コード例 #23
0
ファイル: routes.py プロジェクト: raiseltwice/flask-blog
def register():
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_pw = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_pw)
        db.session.add(user)
        db.session.commit()
        flash(f'{form.username.data} account has been created', 'success')
        return redirect(url_for('home'))
    return render_template('register.html', title='Register', form=form)
コード例 #24
0
def home():
    form = RForm()
    if form.validate_on_submit():
        if form.picture.data:
            picture_file = save_picture(form.picture.data)
        user = User(username=form.username.data, email=form.email.data)
        db.session.add(user)
        db.session.commit()
        flash('Information Submitted', category='success')
        return redirect(url_for('result'))
        # num =1
        # return "res"+ str(val(num))

    return render_template('home.html', title='Covid-19', form=form)
コード例 #25
0
def register():

    if current_user.is_authenticated:
        return redirect(url_for('home'))

    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user = User(username=form.username.data,email = form.email.data,password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash('Your Account Has Been Created ! Now You will be able to Create Post','success')
        flash(f'Account Created for {form.username.data}!', "success")
        return redirect(url_for('login'))
    return render_template('register.html', title='register', form=form)
コード例 #26
0
 def test_follows(self):
     u1 = User(email='*****@*****.**', password='******')
     u2 = User(email='*****@*****.**', password='******')
     db.session.add(u1)
     db.session.add(u2)
     db.session.commit()
     self.assertFalse(u1.is_following(u2))
     self.assertFalse(u1.is_followed_by(u2))
     timestamp_before = datetime.utcnow()
     u1.follow(u2)
     db.session.add(u1)
     db.session.commit()
     timestamp_after = datetime.utcnow()
     self.assertTrue(u1.is_following(u2))
     self.assertFalse(u1.is_followed_by(u2))
     self.assertTrue(u2.is_followed_by(u1))
     self.assertTrue(u1.followed.count() == 2)
     self.assertTrue(u2.followers.count() == 2)
     f = u1.followed.all()[-1]
     self.assertTrue(f.followed == u2)
     self.assertTrue(timestamp_before <= f.timestamp <= timestamp_after)
     f = u2.followers.all()[-1]
     self.assertTrue(f.follower == u1)
     u1.unfollow(u2)
     db.session.add(u1)
     db.session.commit()
     self.assertTrue(u1.followed.count() == 1)
     self.assertTrue(u2.followers.count() == 1)
     self.assertTrue(Follow.query.count() == 2)
     u2.follow(u1)
     db.session.add(u1)
     db.session.add(u2)
     db.session.commit()
     db.session.delete(u2)
     db.session.commit()
     self.assertTrue(Follow.query.count() == 1)
コード例 #27
0
def register():
    if current_user.is_authenticated:  # this will check current user authenticated and re direct to home page if user logged in and click on register button
        return redirect(url_for('home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash(f'Account created for {form.username.data} !!!', 'success')
        return redirect(url_for('login'))
    return render_template('register.html', title="Register", form=form)
コード例 #28
0
ファイル: routes.py プロジェクト: bopopescu/python-flask-1
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_pw = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_pw)
        db.session.add(user)
        db.session.commit()
        flash("Your account has been created!", "success")
        return redirect(url_for("login"))
    return render_template("register.html", title='register', form=form)
コード例 #29
0
ファイル: routes.py プロジェクト: tejeshbhalla/Flask-Blog
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = Register_form()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password)
        db.session.add(user)
        db.session.commit()

        flash(f'Account Created for {form.username.data}', 'success')
        return redirect(url_for('login'))
    return render_template('register.html', form=form)
コード例 #30
0
ファイル: routes.py プロジェクト: raiaankur1/simple_flask_app
def register():
    if current_user.is_authenticated:
        return redirect(url_for('main.hello'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_pw = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_pw)
        db.session.add(user)
        db.session.commit()
        flash(f'Account created for { form.username.data}! You can now Login',
              'success')
        return redirect(url_for('main.login'))
    return render_template('register.html', title="Sign Up", form=form)