728x90
반응형

 티스토리 

 

페이지 추가하기

Flask 웹페이지에서 페이지를 추가하는 방법

1. 코드리뷰

 

from flask import Flask, send_from_directory
from flask import abort
app = Flask(__name__)

@app.route('/favicon.ico')
def favicon():
    try:
        return send_from_directory('static', 'favicon.ico', mimetype='image/vnd.microsoft.icon')
    except FileNotFoundError:
        abort(404)


# Your existing routes
@app.route('/')
def home():
    return 'Welcome to the Home Page!'

@app.route('/about')
def about():
    return 'This is the About Page.'

@app.route('/user/<username>')
def show_user_profile(username):
    return f'User {username}'

if __name__ == '__main__':
    app.run(debug=True, port=5000)

에러 핸들링 추가:
현재 코드에서는 정적 파일(favicon.ico)을 찾을 수 없는 경우에 대한 예외 처리. 파일이 존재하지 않을 때의 에러에 대한 핸들링을 추가하는 것이 좋습니다.

python
Copy code
from flask import abort

@app.route('/favicon.ico')
def favicon():
    try:
        return send_from_directory('static', 'favicon.ico', mimetype='image/vnd.microsoft.icon')
    except FileNotFoundError:
        abort(404)
이렇게 하면 파일이 없는 경우 404 오류를 반환합니다.

favicon.ico 위치 이동:
보통 파비콘은 static 폴더에 위치시키는 것이 일반적입니다. 코드에서도 send_from_directory를 사용하고 있으므로 파일을 static 폴더로 이동시키면 더 일관성 있습니다.

/your_project
├── app.py
├── static
│   └── favicon.ico
코드에서도 send_from_directory('static', 'favicon.ico', ...)로 설정해두었기 때문에 실제 파일 위치와 맞추는 것이 좋습니다.

플라스크 애플리케이션 설정:
플라스크 애플리케이션의 디버그 모드와 포트 설정은 외부에 노출될 때에만 사용되어야 합니다. 실제로 배포할 때는 디버그 모드를 비활성화하고, 포트 번호를 변경하는 것이 보안적으로 더 안전합니다.

마무리

- 이번 포스팅은 Flask 웹에 페이지 추가 및 favicon 아이콘 추가에 대해 알아봤습니다.

 

궁금한 사항은 댓글을 통해서 남겨 주시면 답변 드리겠습니다.
감사합니다.

 

 

728x90
반응형

+ Recent posts