From 158c0b8cead806f718df8b98d618ef336647794b Mon Sep 17 00:00:00 2001 From: sukiun <130278416+sukiyra@users.noreply.github.com> Date: Tue, 10 Dec 2024 20:52:22 +0800 Subject: [PATCH] Update app.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1,中间件代码逻辑可以优化,以减少重复的 return 语句,并提高可读性 2,为了更好地调试和监控,建议为应用添加日志记录,捕获用户请求和错误 --- app.py | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/app.py b/app.py index 40f59b5..4435916 100644 --- a/app.py +++ b/app.py @@ -4,6 +4,7 @@ from apscheduler.schedulers.background import BackgroundScheduler import subprocess import os from pytz import utc +import logging app = Flask(__name__) app.secret_key = 'this is secret_key you know ?' @@ -17,6 +18,7 @@ app.register_blueprint(user.ub) def hello_world(): # put application's code here return session.clear() +""" @app.before_request def before_reuqest(): pat = re.compile(r'^/static') @@ -24,6 +26,21 @@ def before_reuqest(): elif request.path == '/user/login' or request.path == '/user/register':return elif session.get('username'):return return redirect('/user/login') +""" +#中间件代码逻辑可以优化,以减少重复的 return 语句,并提高可读性: +@app.before_request +def before_request(): + # 静态文件路径允许直接访问 + if request.path.startswith('/static'): + return + + # 登录和注册页面无需验证会话 + if request.path in ['/user/login', '/user/register']: + return + + # 验证用户是否登录 + if not session.get('username'): + return redirect('/user/login') @app.route('/') def catch_all(path): @@ -58,4 +75,10 @@ if __name__ == '__main__': try: app.run() finally: - scheduler.shutdown() \ No newline at end of file + scheduler.shutdown() + +#为了更好地调试和监控,建议为应用添加日志记录,捕获用户请求和错误: +logging.basicConfig(level=logging.INFO) +@app.before_request +def log_request_info(): + logging.info(f"Request: {request.method} {request.path}")