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

Flask-WTF를 사용하여 파일 업로드를 구현할 때, 대역폭 제한 기능을 추가하려면 다음과 같은 방법을 사용할 수 있습니다.

  1. Flask-WTF 설치하기 Flask-WTF를 설치하기 위해 터미널 또는 명령 프롬프트에서 다음 명령을 실행합니다:

    pip install Flask-WTF
    
  2. HTML 템플릿 설정하기 파일 업로드를 받을 HTML 템플릿을 준비합니다. 이 템플릿은 Flask-WTF의 FlaskForm을 상속하는 폼 클래스와 {{ form.upload_file }}과 같은 파일 업로드 필드를 포함해야 합니다.

       
    <form method="POST" enctype="multipart/form-data">
      {{ form.csrf_token }}
      {{ form.upload_file.label }}
      {{ form.upload_file }}
      {{ form.submit() }}
    </form>
       
    
  3. Flask 애플리케이션 설정하기 Flask 애플리케이션에서 Flask-WTF를 초기화하고 업로드 파일 제한을 설정합니다. MAX_CONTENT_LENGTH 옵션을 사용하여 파일 크기 제한을 설정할 수 있습니다.

    from flask import Flask
    from flask_wtf import FlaskForm
    from flask_wtf.file import FileField
    
    app = Flask(__name__)
    app.config['SECRET_KEY'] = 'your_secret_key'
    app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024  # 16MB 제한
    
    class MyForm(FlaskForm):
        upload_file = FileField('Upload File')
    
    @app.route('/', methods=['GET', 'POST'])
    def upload_file():
        form = MyForm()
        if form.validate_on_submit():
            # 파일 업로드 처리
            file = form.upload_file.data
            file.save('/path/to/save/file')
        return render_template('upload.html', form=form)
    
    if __name__ == '__main__':
        app.run()
    

    위 예제에서 MAX_CONTENT_LENGTH 값을 16MB(메가바이트)로 설정하였습니다. 필요에 따라 변경할 수 있습니다.

이제 파일 업로드 시 대역폭을 제한할 수 있는 Flask-WTF의 사용 방법을 알아보았습니다. Flask-WTF의 기능을 사용하여 업로드되는 파일의 크기를 제한할 수 있습니다. 자세한 내용은 Flask-WTF 문서를 참조하시기 바랍니다.

참고 문서: