Back to snippets

flask_login_quickstart_user_model_and_protected_routes.py

python

A 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()