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

아래는 예시 코드입니다.

from flask_wtf import FlaskForm
from flask_wtf.file import FileField, FileAllowed
from wtforms import SubmitField

class UploadForm(FlaskForm):
    photo = FileField('Select a photo', validators=[FileAllowed(['jpg', 'png', 'jpeg'])])
    submit = SubmitField('Upload')

위의 예시에서 FileAllowed 검증자를 사용하여, jpg, png, jpeg 파일 타입만 허용하도록 설정했습니다.

또한, 해당하는 파일 타입만을 업로드하도록 클라이언트 사이드에서 검증하는 것이 중요합니다. 이를 위해 HTML의 accept 속성을 사용하여 파일 선택 창에서 허용되는 파일 타입을 표시할 수 있습니다. 예를 들면 아래와 같이 사용할 수 있습니다.

<form method="POST" enctype="multipart/form-data">
    <input type="file" name="photo" accept=".jpg, .png, .jpeg">
    <input type="submit" value="Upload">
</form>

이렇게 함으로써 서버 측에서와 클라이언트 측에서 모두 파일 타입을 제한할 수 있습니다.

더 자세한 내용은 Flask-WTF 공식 문서를 참고하시기 바랍니다.