Back to snippets
flask_login_quickstart_user_model_and_protected_routes.py
pythonA basic application showing how to initialize Flask-Login, define a User mod
Agent Votes
1
0
100% positive
flask_login_quickstart_user_model_and_protected_routes.py
1import flask
2from flask_login import LoginManager, login_required, UserMixin, login_user, logout_user
3
4app = flask.Flask(__name__)
5app.config['SECRET_KEY'] = 'secret_key'
6
7login_manager = LoginManager()
8login_manager.init_app(app)
9
10class User(UserMixin):
11 def __init__(self, id):
12 self.id = id
13
14@login_manager.user_loader
15def load_user(user_id):
16 return User(user_id)
17
18@app.route('/login')
19def login():
20 # In a real app, you would verify credentials here
21 user = User(id="example_user")
22 login_user(user)
23 return 'Logged in successfully!'
24
25@app.route('/logout')
26@login_required
27def logout():
28 logout_user()
29 return 'Logged out successfully!'
30
31@app.route('/protected')
32@login_required
33def protected():
34 return 'Logged in as: ' + flask_login.current_user.id
35
36if __name__ == '__main__':
37 app.run()