当前位置: 首页 > wzjs >正文

吉林省建设厅网站市政资质要求深圳网站建设网站制作公司

吉林省建设厅网站市政资质要求,深圳网站建设网站制作公司,豆瓣网站是怎么建设的,哪儿可以学电商Flask-Login 是 Flask 的用户管理扩展,提供 用户身份验证、会话管理、权限控制 等功能。 适用于: • 用户登录、登出 • 记住用户(“记住我” 功能) • 限制未登录用户访问某些页面 • 用户会话管理 1. 安装 Flask-Login pi…

Flask-Login 是 Flask 的用户管理扩展,提供 用户身份验证、会话管理、权限控制 等功能。

适用于

• 用户登录、登出

• 记住用户(“记住我” 功能)

• 限制未登录用户访问某些页面

• 用户会话管理

 1. 安装 Flask-Login

pip install flask-login flask-sqlalchemy

main.py

from flask import Flask, render_template, redirect, url_for, request, flash
from flask_sqlalchemy import SQLAlchemy
from flask_login import LoginManager, UserMixin, login_user, logout_user, login_required, current_userapp = Flask(__name__)# 配置 Flask 和数据库
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.db'  # 使用 SQLite 数据库
app.config['SECRET_KEY'] = 'your_secret_key'  # Flask-Login 需要 secret key
db = SQLAlchemy(app)
login_manager = LoginManager(app)# 定义用户模型
class User(UserMixin, db.Model):  # UserMixin 提供 Flask-Login 必需的方法id = db.Column(db.Integer, primary_key=True)username = db.Column(db.String(100), unique=True, nullable=False)password = db.Column(db.String(200), nullable=False)  # 真实应用需加密密码# 创建数据库表(仅需运行一次)
with app.app_context():db.create_all()# Flask-Login 加载用户的回调函数
@login_manager.user_loader
def load_user(user_id):return User.query.get(int(user_id))  # 通过 ID 获取用户@app.route('/register', methods=['GET', 'POST'])
def register():if request.method == 'POST':username = request.form.get('username')password = request.form.get('password')if not username or not password:flash("用户名和密码不能为空!")return redirect(url_for('register'))# 检查用户是否已存在existing_user = User.query.filter_by(username=username).first()if existing_user:flash("用户名已存在,请选择其他用户名")return redirect(url_for('register'))# 创建新用户并保存到数据库new_user = User(username=username, password=password)  # 这里应加密密码db.session.add(new_user)db.session.commit()flash("注册成功,请登录!")return redirect(url_for('login'))return render_template('register.html')@app.route('/login', methods=['GET', 'POST'])
def login():if request.method == 'POST':username = request.form.get('username')password = request.form.get('password')# 查找用户user = User.query.filter_by(username=username).first()if user and user.password == password:  # 这里应使用加密密码验证login_user(user)  # 登录用户flash("登录成功!")return redirect(url_for('dashboard'))flash("用户名或密码错误")return redirect(url_for('login'))return render_template('login.html')@app.route('/dashboard')
@login_required  # 保护此路由,未登录用户无法访问
def dashboard():return f"欢迎 {current_user.username}!这是您的仪表盘。 <a href='/logout'>登出</a>"@app.route('/logout')
@login_required
def logout():logout_user()flash("您已成功退出!")return redirect(url_for('login'))if __name__ == "__main__":app.run(debug=True)

templates/login.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<form method="post"><label>用户名:</label><input type="text" name="username" required><label>密码:</label><input type="password" name="password" required><button type="submit">登录</button>
</form>
</body>
</html>

templates/register.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><form method="post"><label>用户名:</label><input type="text" name="username" required><label>密码:</label><input type="password" name="password" required><button type="submit">注册</button></form>
</body>
</html>

运行,然后访问:

• 注册:http://127.0.0.1:5000/register

• 登录:http://127.0.0.1:5000/login

• 仪表盘(必须登录):http://127.0.0.1:5000/dashboard

• 登出:http://127.0.0.1:5000/logout

http://www.dtcms.com/wzjs/795290.html

相关文章:

  • 茂名网站建设咨询网站建设网页设计做网站
  • 怎么做淘宝网站步骤五八同城58同城找工作
  • 福田网站建设罗湖网站建设安装网站
  • 网站开发流程中网站制作包括如今做知乎类网站怎么样
  • 营销型网站建设服务商网站搭建方案模板
  • 网站建设举报甘肃网站制作公司
  • 深圳专业做网站公司启东建设网站
  • 服务器分配网络提高网站访问速度成都微信功能开发
  • 免费创造网站wordpress nginx 安全
  • 漫画网站建设永州市建设网站
  • 上海正规做网站公司有哪些小程序制作多少钱
  • 包头市做网站哪个做电容的网站
  • 有什么公司建网站惠州网站制作策划
  • 大连零基础网站建设教学哪里有wordpress 设置邮件
  • 网站编程工具重庆市建设工程造价信息网官方
  • 西安中风险地区有哪些seo网站规划
  • 黄石建设网站wordpress仿堆糖
  • 网站建设运用软件百度收录网站需要多久
  • 网站建设哪个部门管理企业网站加快企业信息化建设
  • 游戏网站做关键字做一个销售网站需要多少钱
  • 播州区建设局网站图片转链接生成器在线制作
  • 如何制作课程网站模板下载地址职业生涯规划大赛项目名称
  • vf建设银行网站智慧团建手机登录入口
  • 深圳网站设计与制作宁德网站设计
  • 网站建设中需求分析报告做网站建设给人销售
  • 网站建设项目验收表磁力岛引擎
  • 推广普通话于1982年写入杭州网站优化方案
  • 盘锦建设小学网站开发板在null不可用
  • 网站建设网页设计公司漳州手机网站建设公司
  • 顺义网站制作国内最大的几个手游加盟平台