[python] Flask를 사용하여 사용자 만족도 조사 시스템 구현하기
이번 블로그 포스트에서는 Python의 웹 프레임워크인 Flask를 사용하여 간단한 사용자 만족도 조사 시스템을 구현하는 방법에 대해 알아보겠습니다.
목차
- 시작하기
- Flask 설치
- 데이터 모델 정의
- 사용자 인터페이스 구현
- 평가 결과 저장
- 결론
1. 시작하기
우선 가상 환경을 설정하고 필요한 패키지를 설치합니다.
$ python3 -m venv satisfaction_survey
$ source satisfaction_survey/bin/activate
(satisfaction_survey) $ pip install flask
2. Flask 설치
Flask를 설치하고 간단한 웹 애플리케이션을 작성합니다.
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
if __name__ == '__main__':
app.run()
3. 데이터 모델 정의
만족도 조사 결과를 저장하기 위한 데이터베이스 모델을 정의합니다. 여기서는 SQLite를 사용하여 간단하게 구현하겠습니다.
from flask_sqlalchemy import SQLAlchemy
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///satisfaction.db'
db = SQLAlchemy(app)
class Survey(db.Model):
id = db.Column(db.Integer, primary_key=True)
rating = db.Column(db.Integer)
comment = db.Column(db.String(200))
4. 사용자 인터페이스 구현
웹 페이지에 만족도 조사 폼을 추가하고, 사용자의 선택과 의견을 받습니다.
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Satisfaction Survey</title>
</head>
<body>
<h1>How satisfied are you with our service?</h1>
<form method="post" action="{{ url_for('save_survey') }}">
<label for="rating">Rating (1-5):</label>
<input type="number" name="rating" min="1" max="5" required>
<br>
<label for="comment">Comment:</label>
<textarea name="comment" rows="4" cols="50"></textarea>
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>
5. 평가 결과 저장
폼에서 제출된 결과를 데이터베이스에 저장합니다.
@app.route('/save', methods=['POST'])
def save_survey():
rating = request.form['rating']
comment = request.form['comment']
survey = Survey(rating=rating, comment=comment)
db.session.add(survey)
db.session.commit()
return 'Thank you for your feedback!'
6. 결론
이제 Flask를 사용하여 간단한 사용자 만족도 조사 시스템을 구현하는 방법에 대해 알아보았습니다. 데이터베이스에 결과를 저장하고, 웹 페이지에서 사용자의 입력을 받아 처리하는 과정을 살펴보았습니다. Flask를 활용하면 더 복잡한 웹 애플리케이션을 구현할 수 있으니 참고하시기 바랍니다.
참고 자료: