SOY NV AI commited on
Commit
a233557
ยท
1 Parent(s): 9f9640b

Fix: Add favicon handler and improve 404 error handling

Browse files
Files changed (1) hide show
  1. app/__init__.py +27 -1
app/__init__.py CHANGED
@@ -2,7 +2,7 @@
2
  Flask ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ดˆ๊ธฐํ™”
3
  """
4
 
5
- from flask import Flask, request
6
  from flask_login import LoginManager
7
  import sqlite3
8
  from pathlib import Path
@@ -69,6 +69,32 @@ def create_app() -> Flask:
69
  from app.routes import main_bp
70
  app.register_blueprint(main_bp)
71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  # ์š”์ฒญ ๋กœ๊น… ๋ฏธ๋“ค์›จ์–ด ์ถ”๊ฐ€
73
  @app.before_request
74
  def log_request_info():
 
2
  Flask ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ดˆ๊ธฐํ™”
3
  """
4
 
5
+ from flask import Flask, request, send_from_directory, jsonify
6
  from flask_login import LoginManager
7
  import sqlite3
8
  from pathlib import Path
 
69
  from app.routes import main_bp
70
  app.register_blueprint(main_bp)
71
 
72
+ # favicon.ico ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€
73
+ @app.route('/favicon.ico')
74
+ def favicon():
75
+ """favicon.ico ์š”์ฒญ ์ฒ˜๋ฆฌ"""
76
+ try:
77
+ return send_from_directory(
78
+ str(config.STATIC_FOLDER),
79
+ 'logo.webp',
80
+ mimetype='image/webp'
81
+ )
82
+ except Exception as e:
83
+ logger.warning(f"favicon.ico ์ฒ˜๋ฆฌ ์‹คํŒจ: {e}")
84
+ return '', 204 # No Content
85
+
86
+ # 404 ์—๋Ÿฌ ํ•ธ๋“ค๋Ÿฌ
87
+ @app.errorhandler(404)
88
+ def not_found(error):
89
+ """404 ์—๋Ÿฌ ์ฒ˜๋ฆฌ"""
90
+ logger.warning(f"404 ์—๋Ÿฌ: {request.path} - {request.method}")
91
+ # API ์š”์ฒญ์ธ ๊ฒฝ์šฐ JSON ์‘๋‹ต
92
+ if request.path.startswith('/api/'):
93
+ return jsonify({'error': '๋ฆฌ์†Œ์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.', 'path': request.path}), 404
94
+ # ์ผ๋ฐ˜ ์š”์ฒญ์ธ ๊ฒฝ์šฐ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ๋˜๋Š” ์—๋Ÿฌ ํŽ˜์ด์ง€
95
+ from flask import redirect, url_for
96
+ return redirect(url_for('main.index'))
97
+
98
  # ์š”์ฒญ ๋กœ๊น… ๋ฏธ๋“ค์›จ์–ด ์ถ”๊ฐ€
99
  @app.before_request
100
  def log_request_info():