from flask import Flask, render_template, request, redirect, url_for, session import os app = Flask(__name__) # 设置密钥用于session管理 app.secret_key = os.urandom(24) # 随机生成密钥 # 登录页面路由 @app.route('/', methods=['GET', 'POST']) def login(): if request.method == 'POST': # 获取表单提交的姓名 student_name = request.form.get('student_name', '').strip() if student_name: # 检查姓名是否不为空 # 将姓名存储到session中 session['student_name'] = student_name # 重定向到欢迎页面 return redirect(url_for('welcome')) else: # 姓名为空,显示错误信息 return render_template('index.html', error="请输入您的姓名") # GET请求,显示登录页面 return render_template('index.html') # 欢迎页面路由 @app.route('/welcome') def welcome(): # 检查用户是否已登录 if 'student_name' in session: student_name = session['student_name'] return render_template('welcome.html', name=student_name) else: # 未登录,重定向到登录页面 return redirect(url_for('login')) # 登出功能 @app.route('/logout') def logout(): # 清除session中的姓名 session.pop('student_name', None) return redirect(url_for('login')) if __name__ == '__main__': # 启动Flask应用,允许外部访问,开启调试模式 app.run(host='0.0.0.0', port=5000, debug=True)