[python] Flask-WTF에서 파일 업로드 시 용량 제한을 설정하는 방법은 어떻게 되나요?

Flask-WTF 라이브러리를 사용하여 파일 업로드 기능을 구현하고 있을 때, 파일의 용량 제한을 설정하고 싶다면 MaxFileAllowed 필드를 사용할 수 있습니다. 이 필드를 사용하여 허용할 수 있는 최대 파일 크기를 제한할 수 있습니다.

다음은 Flask-WTF에서 파일 업로드 시 용량 제한을 설정하는 예시 코드입니다.

from flask_wtf import FlaskForm
from flask_wtf.file import FileField, FileAllowed
from werkzeug.utils import secure_filename

class MyForm(FlaskForm):
    file = FileField('File', validators=[
        FileAllowed(['jpg', 'png'], 'Only JPEG and PNG files are allowed!'),
        MaxFileAllowed(10 * 1024 * 1024, message='File size should not exceed 10MB.')
    ])

위의 예시 코드에서 MaxFileAllowed 필드를 사용하여 최대 파일 크기를 10MB로 제한하고 있습니다. 이렇게 설정하면 10MB보다 큰 파일을 업로드하려고 할 때는 유효성 검사에 실패하며, 에러 메시지가 출력됩니다.

MaxFileAllowed 필드의 첫 번째 인자에는 허용할 최대 파일 크기를 바이트 단위로 지정해야 합니다. 위의 예시 코드에서는 10MB를 바이트로 계산하여 지정하고 있습니다. 필요에 따라 파일 크기 단위를 조정하여 사용하시면 됩니다.

이와 같이 Flask-WTF의 MaxFileAllowed 필드를 사용하여 파일 업로드 시 용량 제한을 설정할 수 있습니다. Flask-WTF의 다른 유효성 검사 기능도 함께 사용하여 보다 강력한 파일 업로드 기능을 구현할 수 있습니다.

참고 자료