Browse Source

Update 'README.md'

天问 1 year ago
parent
commit
a84855ef29
1 changed files with 62 additions and 0 deletions
  1. 62 0
      README.md

+ 62 - 0
README.md

@@ -1,2 +1,64 @@
 # flask_login
+处理用户认证和登录
 
+## Usage
+
+```
+from flask import Flask, render_template, redirect, url_for, request
+from flask_login import LoginManager, UserMixin, login_user, logout_user, login_required
+
+app = Flask(__name__)
+app.config['SECRET_KEY'] = 'your_secret_key'  # 设置 Flask 应用的密钥
+
+# 初始化 Flask-Login
+login_manager = LoginManager(app)
+login_manager.login_view = 'login'
+
+# 模拟一个用户数据库
+users = [{'123': {'username': 'admin', 'password': 'admin'}}]
+
+# 定义用户类
+class User(UserMixin):
+    pass
+
+# 加载用户的回调函数
+@login_manager.user_loader
+def load_user(user_id):
+    if user_id in users:
+        user = User()
+        user.id = user_id
+        return user
+    return None
+
+# 登录页面
+@app.route('/login', methods=['GET', 'POST'])
+def login():
+    if request.method == 'POST':
+        user_id = request.form['user_id']
+        password = request.form['password']
+        if user_id in users and users[user_id]['password'] == password:
+            user = User()
+            user.id = user_id
+            login_user(user)
+            return redirect(url_for('index'))
+        else:
+            return {"code":-1,"message":"user or pwd is error."}
+    return render_template('login.html')
+
+# 退出登录
+@app.route('/logout')
+@login_required
+def logout():
+    logout_user()
+    return redirect(url_for('index'))
+
+# 需要登录才能访问的页面
+@app.route('/')
+@login_required
+def index():
+    return render_template('index.html')
+
+if __name__ == '__main__':
+    app.run(debug=True)
+
+```