[python] Flask-WTF에서 사용자가 입력한 값을 저장하고 기록하는 방법은 어떻게 되나요?
-
Flask-WTF 설치하기: Flask-WTF는 Flask와 함께 사용되는 폼 처리를 위한 확장 기능입니다. 설치하기 위해서 터미널에서 다음 명령을 실행해주세요:
pip install Flask-WTF
-
Flask-WTF 폼 생성하기: Flask-WTF를 사용하여 입력 폼을 생성합니다. 예를 들어, 사용자 이름과 이메일을 입력받는 폼을 만들어볼게요.
from flask import Flask, render_template from flask_wtf import FlaskForm from wtforms import StringField, SubmitField app = Flask(__name__) app.config['SECRET_KEY'] = 'your_secret_key' class UserForm(FlaskForm): name = StringField('이름') email = StringField('이메일') submit = SubmitField('저장') @app.route('/', methods=['GET', 'POST']) def index(): form = UserForm() if form.validate_on_submit(): # 폼이 제출되었을 때 동작할 코드 작성 name = form.name.data email = form.email.data # 이후에 저장하거나 기록할 작업을 수행 return f'{name}님, 이메일 주소 {email}가 저장되었습니다!' return render_template('index.html', form=form) if __name__ == '__main__': app.run(debug=True)
-
HTML 템플릿 생성하기: 사용자에게 입력 폼을 제공하기 위해 HTML 템플릿을 생성해야 합니다.
index.html
파일을 생성하고 다음과 같이 작성해주세요.{% extends 'base.html' %} {% block content %} <h1>사용자 정보 입력</h1> <form method="POST" action="/"> {{ form.csrf_token }} {{ form.name.label }} {{ form.name() }}<br> {{ form.email.label }} {{ form.email() }}<br> {{ form.submit() }} </form> {% endblock %}
이 코드에서는 WTForms의 기능을 사용하여 폼 필드와 제출 버튼을 생성하였습니다.
-
Flask 애플리케이션 실행하기: 터미널에서 Flask 애플리케이션을 실행합니다.
flask run
이제 브라우저에서
http://localhost:5000/
에 접속하면 사용자 정보를 입력할 수 있는 페이지가 나타납니다. 사용자가 정보를 입력하고 제출하면 해당 정보를 저장하거나 기록할 수 있습니다.원하는 작업을 수행하기 위해 데이터베이스를 사용하거나, 파일에 정보를 저장하는 등의 추가적인 코드를 작성하면 됩니다.
참고자료:
- Flask-WTF 공식 문서: https://flask-wtf.readthedocs.io/
- WTForms 공식 문서: https://wtforms.readthedocs.io/