Cómo utilizar Flask_login
- Prefacio
- Pasos básicos para usar Flask-Login:
-
- 1. Instale Flask-Iniciar sesión
- 2. Inicialice Flask-Login en la aplicación Flask
- 3. Crear modelo de usuario
- 4. Implementar la función de carga de usuarios.
- 5. Implementar la función de vista de inicio de sesión.
- 6. Implementar la función de vista de cierre de sesión.
- 7. Proteger las funciones de visualización que requieren iniciar sesión para acceder
Prefacio
Flask-Login es una extensión de Flask que proporciona funciones de autenticación de usuario y gestión de inicio de sesión. La autenticación de usuarios y la gestión de sesiones se pueden implementar fácilmente utilizando Flask-Login, y también proporciona muchas funciones útiles, como la función de recuerdo de usuario, restricciones de inicio de sesión, cierre de sesión de usuario, etc.
Pasos básicos para usar Flask-Login:
1. Instale Flask-Iniciar sesión
pip install flask-login
2. Inicialice Flask-Login en la aplicación Flask
from flask import Flask
from flask_login import LoginManager
app = Flask(__name__)
login_manager = LoginManager()
login_manager.init_app(app)
3. Crear modelo de usuario
from flask_login import UserMixin
class User(UserMixin):
pass
4. Implementar la función de carga de usuarios.
@login_manager.user_loader
def load_user(user_id):
# 根据用户ID加载用户
return User.get(user_id)
5. Implementar la función de vista de inicio de sesión.
from flask_login import login_user, current_user
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
# 验证用户登录信息
user = User.query.filter_by(username=request.form['username']).first()
if user and check_password_hash(user.password, request.form['password']):
# 登录用户
login_user(user, remember=True)
# 跳转到首页
return redirect(url_for('index'))
else:
# 显示错误信息
flash('Invalid username or password')
# 显示登录表单
return render_template('login.html')
6. Implementar la función de vista de cierre de sesión.
from flask_login import logout_user
@app.route('/logout')
@login_required
def logout():
# 注销用户
logout_user()
# 跳转到登录页
return redirect(url_for('login'))
7. Proteger las funciones de visualización que requieren iniciar sesión para acceder
from flask_login import login_required
@app.route('/profile')
@login_required
def profile():
# 显示用户资料
return render_template('profile.html', user=current_user)
Los anteriores son los pasos básicos para usar Flask-Login, puede modificarlo y ampliarlo según sus propias necesidades.