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}") |
-
Please register or login to post a comment