Flask에서 HTML, CSS, JavaScript와 같은 정적 파일 제공은 웹 애플리케이션 구축에 필수적입니다. 그러나 이 주제에 대한 특정 문서를 찾는 것은 혼란스러울 수 있습니다.
기본적으로 Flask는 Flask 앱을 정의하는 Python 모듈 옆에 있는 'static'이라는 하위 디렉터리에서 정적 파일을 자동으로 제공합니다. 이러한 파일에 액세스하려면 url_for 도우미를 사용하여 '정적' 접두사가 있는 URL을 생성하세요.
url_for('static', filename='css/main.css')
예를 들어, '/static/css/main.css' URL에 대한 요청은 다음을 반환합니다. 'static/css' 디렉터리에 있는 'main.css' 파일의 내용입니다. 이 방법은 정적 파일 전용 디렉터리가 있는 경우에 적합합니다.
다른 디렉터리에서 파일을 제공해야 하는 경우 send_from_directory 함수를 사용할 수 있습니다.
from flask import send_from_directory @app.route('/files/<path:path>') def get_file(path): return send_from_directory('files', path)
이렇게 하면 사용자가 URL '/files/
또 다른 옵션은 메모리에 파일을 보내는 것입니다. 파일 시스템에 쓰지 않고 파일을 생성하는 경우 BytesIO 객체를 send_file 함수에 전달하여 파일을 제공할 수 있습니다.
from io import BytesIO from flask import send_file @app.route('/download/file') def download_file(): # Generate the file in memory content = b'...' filename = 'report.pdf' # Send the file output = BytesIO(content) return send_file(output, mimetype='application/pdf', as_attachment=True, attachment_filename=filename)
경로 보안을 처리하고 공개하려는 파일만 제공해야 합니다. 이러한 방법을 사용할 때
위 내용은 내 Flask 애플리케이션에서 정적 파일을 효과적으로 제공하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!