コード例 #1
0
ファイル: routes.py プロジェクト: lvchen727/microblog-heroku
def register():
  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)
コード例 #2
0
ファイル: routes.py プロジェクト: lvchen727/microblog-heroku
def reset_password(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    user = User.verify_reset_password_token(token)
    if not user:
        return redirect(url_for('main.index'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        user.set_password(form.password.data)
        db.session.commit()
        flash('Your password has been reset.')
        return redirect(url_for('auth.login'))
    return render_template('auth/reset_password.html', form=form)
コード例 #3
0
ファイル: routes.py プロジェクト: Jordan-Rob/simple-BlogApp
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    user = User.verify_reset_token(token)
    if user is None:
        flash(' This is an invalid or expired Token! ', 'warning')
        return redirect(url_for(' reset_request '))
    form = ResetPasswordForm()
    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)
        user.password = hashed_password
        db.session.commit()
        flash('Your password has been updated, You are now able to log in!',
              'success')
        return redirect(url_for('login'))
    return render_template("reset_token.html",
                           title=" Reset password ",
                           form=form)
コード例 #4
0
ファイル: views.py プロジェクト: BurumbayS/BFDjango
def signup(request):
    first_name = request.POST.get("first_name", " ")
    last_name = request.POST.get("last_name", " ")
    username = request.POST.get("username", " ")
    password = request.POST.get("password", " ")
    confirm_password = request.POST.get("confirm_password", " ")

    if password == confirm_password:
        user = User.create(username, password, first_name, last_name)
        user.save()
        request.session['username'] = username
        request.session['authorized'] = True
    else:
        request.session['authorized'] = False

    return blog(request)
コード例 #5
0
ファイル: routes.py プロジェクト: Jordan-Rob/simple-BlogApp
def regis():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    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('index'))
    return render_template("register.html", title="registerPg", form=form)
コード例 #6
0
ファイル: test.py プロジェクト: lvchen727/microblog-heroku
    def test_follow(self):
        u1 = User(username='******', email='*****@*****.**')
        u2 = User(username='******', email='*****@*****.**')
        db.session.add(u1)
        db.session.add(u2)
        db.session.commit()
        self.assertEqual(u1.followed.all(), [])
        self.assertEqual(u1.followers.all(), [])

        u1.follow(u2)
        db.session.commit()
        self.assertTrue(u1.is_following(u2))
        self.assertEqual(u1.followed.count(), 1)
        self.assertEqual(u1.followed.first().username, 'susan')
        self.assertEqual(u2.followers.count(), 1)
        self.assertEqual(u2.followers.first().username, 'john')

        u1.unfollow(u2)
        db.session.commit()
        self.assertFalse(u1.is_following(u2))
        self.assertEqual(u1.followed.count(), 0)
        self.assertEqual(u2.followers.count(), 0)
コード例 #7
0
ファイル: test.py プロジェクト: lvchen727/microblog-heroku
    def test_follow_posts(self):
        # create four users
        u1 = User(username='******', email='*****@*****.**')
        u2 = User(username='******', email='*****@*****.**')
        u3 = User(username='******', email='*****@*****.**')
        u4 = User(username='******', email='*****@*****.**')
        db.session.add_all([u1, u2, u3, u4])

        # create four posts
        now = datetime.utcnow()
        p1 = Post(body="post from john",
                  author=u1,
                  timestamp=now + timedelta(seconds=1))
        p2 = Post(body="post from susan",
                  author=u2,
                  timestamp=now + timedelta(seconds=4))
        p3 = Post(body="post from mary",
                  author=u3,
                  timestamp=now + timedelta(seconds=3))
        p4 = Post(body="post from david",
                  author=u4,
                  timestamp=now + timedelta(seconds=2))
        db.session.add_all([p1, p2, p3, p4])
        db.session.commit()

        # setup the followers
        u1.follow(u2)  # john follows susan
        u1.follow(u4)  # john follows david
        u2.follow(u3)  # susan follows mary
        u3.follow(u4)  # mary follows david
        db.session.commit()

        # check the followed posts of each user
        f1 = u1.followed_posts().all()
        f2 = u2.followed_posts().all()
        f3 = u3.followed_posts().all()
        f4 = u4.followed_posts().all()
        self.assertEqual(f1, [p2, p4, p1])
        self.assertEqual(f2, [p2, p3])
        self.assertEqual(f3, [p3, p4])
        self.assertEqual(f4, [p4])
コード例 #8
0
ファイル: test.py プロジェクト: lvchen727/microblog-heroku
 def test_avatar(self):
     u = User(username='******', email='*****@*****.**')
     self.assertEqual(u.avatar(128), ('https://www.gravatar.com/avatar/'
                                      'd4c74594d841139328695756648b6bd6'
                                      '?d=identicon&s=128'))
コード例 #9
0
ファイル: test.py プロジェクト: lvchen727/microblog-heroku
 def test_password_hashing(self):
     u = User(username='******')
     u.set_password('cat')
     self.assertFalse(u.check_password('dog'))
     self.assertTrue(u.check_password('cat'))