[python] Flask-WTF에서 다국어 지원을 위해 언어 선택 옵션을 제공하는 방법은 어떻게 되나요?

Flask-WTF는 웹 폼을 쉽게 구현할 수 있도록 도와주는 Flask 확장 모듈입니다. Flask-WTF에서 다국어 지원을 위해 언어 선택 옵션을 제공하려면 다음과 같은 단계를 따를 수 있습니다.

  1. Flask-WTF의 FlaskForm 클래스를 상속한 폼 클래스를 만듭니다.
from flask_wtf import FlaskForm
from wtforms import SelectField

class LanguageForm(FlaskForm):
    language = SelectField('Language', choices=[('en', 'English'), ('es', 'Spanish'), ('ko', 'Korean')])
    # 다른 필드들을 추가할 수 있습니다.
  1. 라우트 함수에서 언어 선택 폼을 렌더링합니다.
@app.route('/language', methods=['GET', 'POST'])
def select_language():
    form = LanguageForm()
    if form.validate_on_submit():
        selected_language = form.language.data
        # 선택한 언어에 따른 처리를 합니다.
        # 세션 등을 활용하여 언어 설정을 유지할 수 있습니다.
        return redirect(url_for('index'))
    return render_template('language.html', form=form)
  1. 템플릿 파일에서 언어 선택 폼을 표시합니다.

{% extends 'base.html' %}

{% block content %}
    <h1>Select Language</h1>
    <form method="POST" action="{{ url_for('select_language') }}">
        {{ form.csrf_token }}
        {{ form.language.label }}
        {{ form.language }}
        <input type="submit" value="Select">
    </form>
{% endblock %}

이렇게 하면 Flask-WTF를 사용하여 다국어 지원을 위한 언어 선택 옵션을 제공할 수 있습니다. 선택한 언어에 따라 서버 측에서 다른 처리를 수행하거나, 프론트엔드 UI를 다국어로 변경할 수 있습니다.

Flask-WTF에 대한 자세한 정보는 공식 문서를 참고하시기 바랍니다: