sukiun
Committed by GitHub

Merge pull request #3 from sukiyra/main

Update app.py
Showing 1 changed file with 24 additions and 1 deletions
@@ -4,6 +4,7 @@ from apscheduler.schedulers.background import BackgroundScheduler @@ -4,6 +4,7 @@ from apscheduler.schedulers.background import BackgroundScheduler
4 import subprocess 4 import subprocess
5 import os 5 import os
6 from pytz import utc 6 from pytz import utc
  7 +import logging
7 8
8 app = Flask(__name__) 9 app = Flask(__name__)
9 app.secret_key = 'this is secret_key you know ?' 10 app.secret_key = 'this is secret_key you know ?'
@@ -17,6 +18,7 @@ app.register_blueprint(user.ub) @@ -17,6 +18,7 @@ app.register_blueprint(user.ub)
17 def hello_world(): # put application's code here 18 def hello_world(): # put application's code here
18 return session.clear() 19 return session.clear()
19 20
  21 +"""
20 @app.before_request 22 @app.before_request
21 def before_reuqest(): 23 def before_reuqest():
22 pat = re.compile(r'^/static') 24 pat = re.compile(r'^/static')
@@ -24,6 +26,21 @@ def before_reuqest(): @@ -24,6 +26,21 @@ def before_reuqest():
24 elif request.path == '/user/login' or request.path == '/user/register':return 26 elif request.path == '/user/login' or request.path == '/user/register':return
25 elif session.get('username'):return 27 elif session.get('username'):return
26 return redirect('/user/login') 28 return redirect('/user/login')
  29 +"""
  30 +#中间件代码逻辑可以优化,以减少重复的 return 语句,并提高可读性:
  31 +@app.before_request
  32 +def before_request():
  33 + # 静态文件路径允许直接访问
  34 + if request.path.startswith('/static'):
  35 + return
  36 +
  37 + # 登录和注册页面无需验证会话
  38 + if request.path in ['/user/login', '/user/register']:
  39 + return
  40 +
  41 + # 验证用户是否登录
  42 + if not session.get('username'):
  43 + return redirect('/user/login')
27 44
28 @app.route('/<path:path>') 45 @app.route('/<path:path>')
29 def catch_all(path): 46 def catch_all(path):
@@ -58,4 +75,10 @@ if __name__ == '__main__': @@ -58,4 +75,10 @@ if __name__ == '__main__':
58 try: 75 try:
59 app.run() 76 app.run()
60 finally: 77 finally:
61 - scheduler.shutdown()  
  78 + scheduler.shutdown()
  79 +
  80 +#为了更好地调试和监控,建议为应用添加日志记录,捕获用户请求和错误:
  81 +logging.basicConfig(level=logging.INFO)
  82 +@app.before_request
  83 +def log_request_info():
  84 + logging.info(f"Request: {request.method} {request.path}")