본문 바로가기

Projects/Flask 할일리스트

#1. 프로젝트 세팅하기

python으로 무언가를 만들 때는, 가상환경을 무조건 만들어서 사용한다. 패키지 관리하는게 귀찮고, 버전이 하나 꼬이기 시작하면, 밑도 끝도 없기 때문이다. 특히 Django와 달리 Flask는 라이브러리들을 그 때 그 때 import 해야 해서 가상환경을 세팅하는 것이 좋다.

 

프로젝트 폴더 구성

To-do list는 아주 간단한 기능이기 때문에, 필요한 기능만 구현하고자, 프로젝트 폴더도 간단히 구성해놓았다. app.py에 들어가서 기존적인 세팅을 진행한다

 

//필요한 라이브러리 임포트
from flask import Flask, render_template, url_for, request, redirect
from flask.wrappers import Request
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime

//Flask App 지정과 DBMS 설정
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
db = SQLAlchemy(app)

//할일들을 저장한 DB 세팅
class Todo(db.Model):

	//할일들마다 ID 값을 지정해주어야 함
    id = db.Column(db.Integer, primary_key=True)
    
    //어떤 할일인지 세팅, 공백불가, 글자수제한
    content = db.Column(db.String(200), nullable=False)
    
    //할일들을 저장할 때, 저장시간을 함께 넣어주기
    date_created = db.Column(db.DateTime, default=datetime.utcnow)

    def __repr__(self):
        return '<Task %r>' % self.id
 
 
 if __name__ == "__main__":
    app.run(debug=True)

Models.py가 이미 있는 Django와 달리 일일히 DB를 세팅해주어야 하는데, 그것 이외에는 모두 다 똑같다.