flask TODO list -1 (DB 연결해서 내용 가져오기)
개발환경 : Windows10, vscode
언어 및 프레임워크 : Python3, Flask
GIthub repository : YChaeeun/todoList_web
디자인 및 화면 구성하기
PPT에 간단한 디자인 구상과 기능을 적어놓고, html와 css, bootstrap4로 만들어보았다.
DB 연결하기 _ 할 일 내용 가져오기
간단한 틀이 만들어져서, 해야할 일 목록 내용과 중요도를 가져오는 것부터 시작했다. 아직 값이 없기 때문에 DB에 미리 값들을 넣어놨다.
1) MySql 연결하기
database/connection.py
import pymysql
def get_connection():
conn = pymysql.connect(host='127.0.0.1', user='guest', password='#', db='todolist_db', charset='utf8')
return conn
todolist.sql
create database todolist_db
use todolist_db
create table todo(
todo_idx int auto_increment primary key,
todo_content varchar(500) not null,
todo_status int not null,
todo_importance int not null
);
임의의 값을 넣어놓았다!
insert into todo (todo_content, todo_status, todo_importance)
value("저녁 챙겨먹기", 1, 0)
2) 쿼리문 작성해서 내용 가져오기
일단 다른 기능들은 생각하지 않고, 내용과 중요도(숫자)만 가져오는 쿼리문을 작성했다.
제일 최근에 작성한 목록부터 가져오기 위해 order by todo_idx desc
database/todo_list_dao.py
import pymysql
from database import connection
# 해야 할 일 내용 가져오기
# 최근에 작성된 순서대로
def get_todolist():
conn = connection.get_connection()
sql = '''
select todo_content, todo_importance
from todo
where todo_status = 1
order by todo_idx desc
'''
cursor = conn.cursor()
cursor.execute(sql)
row = cursor.fetchall()
data_list = []
for obj in row :
data_dic = {
'todo_content' : obj[0],
'todo_importance' : obj[1]
}
data_list.append(data_dic)
conn.close
return data_list
3) html 파일에 가져온 정보를 넣기
현재 날짜도 가져오려고 했는데 자꾸 오류가 나거나 값이 넣어지지 않아서 어떻게 하면 좋을 지 생각해봐야 할 것 같다.
main.py
@app.route('/')
def index():
content_list=todo_list_dao.get_todolist()
# now = datetime.today()
# content_list.append(now)
html = render_template('index.html', data_list=content_list)
return html
index.html
Comments