반응형
- 탄력적 습관을 읽다가 이 책에서 소개하는 습관 추적 양식을 웹에서 구현하면 편하겠다는 생각이 들었습니다.
- 챗지피티를 활용하여 아래와 같은 답을 얻었습니다.
물론입니다! 파이썬으로 탄력적 습관 추적 프로그램을 구현하는 단계를 구체적으로 설명해 드리겠습니다. 초보자도 쉽게 따라할 수 있도록 하겠습니다.
-
환경 설정:
- Python 설치: Python 공식 웹사이트(https://www.python.org)에서-ej5r32t/) 최신 버전의 Python을 다운로드하여 설치합니다.
- 개발 환경 선택: 텍스트 편집기로는 Visual Studio Code, PyCharm 등을 사용할 수 있습니다.
-
필요한 라이브러리 설치:
- Flask: 웹 애플리케이션을 구현하기 위한 마이크로 웹 프레임워크입니다. 터미널에서
pip install flask
명령어를 실행하여 설치합니다. - SQLite: 경량 데이터베이스로, 습관 추적 데이터를 저장하기 위해 사용합니다. 파이썬에 기본으로 포함되어 있습니다.
- Flask: 웹 애플리케이션을 구현하기 위한 마이크로 웹 프레임워크입니다. 터미널에서
-
프로젝트 구조 설정:
- 새로운 폴더를 생성하고, 해당 폴더 내에서 프로젝트를 진행합니다.
- 해당 폴더 내에
app.py
라는 파일을 생성합니다.
-
Flask 애플리케이션 설정:
app.py
파일을 열고, 다음과 같이 코드를 작성합니다:
python
from flask import Flask, render_template, request
import sqlite3
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
# 사용자로부터 입력 받은 습관 점수 처리
score = request.form['score']
# SQLite 데이터베이스에 점수 저장
conn = sqlite3.connect('habit.db')
c = conn.cursor()
c.execute("INSERT INTO habits (score) VALUES (?)", (score,))
conn.commit()
conn.close()
# 화면에 습관 추적 기록 표시
conn = sqlite3.connect('habits.db')
c = conn.cursor()
c.execute("SELECT * FROM habits")
habits = c.fetchall()
conn.close()
return render_template('index.html', habits=habits)
if __name__ == '__main__':
app.run(debug=True)
- HTML 템플릿 작성:
templates
폴더를 생성하고, 해당 폴더 내에index.html
파일을 생성합니다.index.html
파일을 열고, 다음과 같이 코드를 작성합니다:
html
<!DOCTYPE html>
<html>
<head>
<title>습관 추적</title>
</head>
<body>
<h1>탄력적 습관 추적</h1>
<form method="POST" action="/">
<select name="score">
<option value="1">미니</option>
<option value="2">플러스</option>
<option value="3">엘리트</option>
</select>
<input type="submit" value="점수 입력">
</form>
<table>
<thead>
<tr>
<th>날짜</th>
<th>점수</th>
</tr>
</thead>
<tbody>
{% for habit in habits %}
<tr>
<td>{{ habit[0] }}</td>
<td>{{ habit[1] }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>
- 데이터베이스 설정:
- 터미널에서
sqlite3 habits.db
명령어를 실행하여 SQLite 데이터베이스를 생성합니다. - SQLite 프롬프트에서 다음과 같이 명령어를 입력하여 테이블을 생성합니다:
- 터미널에서
CREATE TABLE habits (
date TEXT DEFAULT CURRENT_DATE,
score INTEGER
);
- 애플리케이션 실행:
- 터미널에서
python app.py
명령어를 실행하여 애플리케이션을 실행합니다. - 웹 브라우저에서
http://localhost:5000
에 접속하여 습관 추적 애플리케이션을 사용합니다.
- 터미널에서
- 데이터베이스를 관리할 수 있게 도와주는 SQLite 설치 단계에서 막혔으나 (쌩기초) 데이터 베이스 관리 시스템 첫걸음 - SQLite 설치 및 테이블 만들기, 지우기, 자료입력하기! - YouTube 이 영상을 보고 설치에 성공했습니다. 유학 시절에 프로그램 설치가 안 돼서 새벽 4시에 울었다는 얘기도 하시는데, 이런 어려움을 잊지 않았기에 더 친절하게 설명하는 것 같습니다.
- SQLite에서 “Error: file is not a database” 라는 문구가 뜨면서 다음 과정을 진행할 수 없었습니다.
- 터미널에서 "
sqlite3 habits.db
명령어를 실행하여 SQLite 데이터베이스를 생성"하라고 하는데, 잘 안 되었습니다. 그래서 메모장 열고 직접 명령어를 입력한 결과 'file is not a database’라는 에러가 뜬 것 같습니다. - 차선책으로 위 유튜브 영상에서 설명하는 대로 .open “habit.db” 명령어로 habit.db 파일을 생성하는 데 성공했습니다. 이후 아래 이미지에서 보시는 것처럼 미리 만들어둔 habits.csv 파일을 SQLite상에서 불러오는 데 성공했습니다.
이미지가 안 보이거든 새로고침을 눌러주세요.
- 파이썬으로 돌아가서 코드를 실행하니 아래와 같이 HTML 문서로 코드가 변환되는 것을 볼 수 있습니다. 절반의 성공입니다.
반응형
댓글