← flask-blog

example login added pages and a bit of documentation

0e306d62f8db219cb982c045bb36d10551f64ff9 · ovidiucs · May 18, 2015 22:03

+17 −3 · 1 file changed

  • flask-blog.py +17 −3
diff --git a/flask-blog.py b/flask-blog.py
index 88b764c..1472cb6 100644
--- a/flask-blog.py
+++ b/flask-blog.py
@@ -80,9 +80,8 @@ class User(UserMixin, db.Model):
         db.session.commit()
         return user
 
-
     def __repr__(self):
-        return '<User {0}>'.format(self.name)
+        return '<User {0}>'.format(self.username)
 
 
 @lm.user_loader
@@ -240,6 +239,7 @@ def sqla():
 def load_user(id):
     return User.query.get(int(id))
 
+
 @app.route('/login', methods=['GET', 'POST'])
 def login():
     form = LoginForm()
@@ -275,16 +275,28 @@ def login():
         if user is None or not user.verify_password(form.password.data):
             return redirect(url_for('login'), **request.args)
         login_user(user, form.remember_me.data)
-        return redirect(request.args.get('next') or url_for('index'))
+        return redirect(request.args.get('next') or url_for('login'))
     return render_template('login.html', form=form)
 
 
+"""
+This route needs to be protected
+"""
+
+
 @app.route('/logout')
 @login_required
 def logout():
     logout_user()
     return redirect(url_for('index'))
 
+
+@app.route('/protected')
+@login_required
+def protected():
+    return render_template('protected.html')
+
+
 @app.errorhandler(404)
 def not_found(e):
     return render_template('404.html')
@@ -292,4 +304,6 @@ def not_found(e):
 
 if __name__ == '__main__':
     db.create_all()
+    if User.query.filter_by(username='john').first() is None:
+        User.register('john', 'cat')
     app.run(debug=True)