flask db 연동(sqlite3)
본문 바로가기

Backend

flask db 연동(sqlite3)

 

app.py

import os
from flask import Flask, render_template
from models import db

app = Flask(__name__)

#현제있는 파일의 디렉토리 절대경로
basdir = os.path.abspath(os.path.dirname(__file__))
#basdir 경로안에 DB파일만들기
dbfile = os.path.join(basdir, 'db.sqlite')

#SQLAlchemy설정

#내가 사용할 DB url
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + dbfile
#비즈니스로직이 끝날때 commit 실행(db반영)
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
#수정사항에 대한 Track
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
#secret-key
app.config['SECRET_KEY'] = 'jqiowejrojzxcovnklqnweiorjqwoijroi'

db.init_app(app) #앱에 cofig외에 많은값들을 초기화
db.app = app #db안에 앱이라는 변수를 명시적으로 넣기
db.create_all() #db생성

@app.route('/')
def home():
    return render_template('hello.html')

if __name__ == '__main__':
    app.run(debug=True)

model.py

import os
from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

	#회원정보를 만들어보자 - db의 Model을 가져와
class User(db.Model):
    	#tablename만들기
    __tablename__ = 'user'

    	#column만들기
    id = db.Column(db.Integer, primary_key=True)
    userid = db.Column(db.String(32))
    password = db.Column(db.String(64))
    username = db.Column(db.String(8))

실행 또는 python app.py를하면 db.sqlite폴더생성

python app.py

 

sqlite3 db.sqlite

나의경우 sqlite3연결이 안되는듯하여서 아래링크에 다운받은 sqlite3.exe를 프로젝트안에 삽입함

sqlite3로 빠르게 db확인하기

www.sqlite.org/download.html

 

SQLite Download Page

Templates (1) and (2) are used for source-code products. Template (1) is used for generic source-code products and templates (2) is used for source-code products that are generally only useful on unix-like platforms. Template (3) is used for precompiled bi

www.sqlite.org

 

반응형

'Backend' 카테고리의 다른 글

flask 절대경로  (0) 2021.05.13
flask controller - 회원가입 post, session  (0) 2021.05.09
flask file download  (0) 2021.05.03
[flask 기초3] jinja, render_template  (0) 2021.04.29
Flask localhost 임의 IP, Port 설정  (0) 2021.04.22