[flask 기초2] SQLAlchemy
본문 바로가기

Backend

[flask 기초2] SQLAlchemy

Flask SQLAlchemy 란?

모델부분을 지원해주는 라이브러리 

데이터자체를 원래는 sql쿼리나 데이터베이스에서 제공하는 방법들을 사용해야하는데 파이썬안에서 객체로 쉽게말하자면 클래스나 함수로 사용할수있게 도와주는 라이브러리

pip install flask-sqlalchemy

# 따로설치가 필요없는 sqlite3를 사용하려면 파일만 지정해주기때문에 os필요
import os

from flask import Flask
from flask_sqlalchemy import SQLAlchemy


# 현재경로를 프로젝트 절대경로로 사용
basedir = os.path.abspath(os.path.dirname(__file__))
dbfile = os.path.join(basedir, 'db.sqlite')
app = Flask(__name__)
#내가 사용할 데이터베이스 URI
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + dbfile
#요청이 끝날때마다 커밋한다.->db반영
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
#버전상관없게 처리
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

db = SQLAlchemy(app)

# db클래스만들기
class Test(db.Model):
	__tablename__ = 'test_table'
	id = db.Column(db.Integer, primary_key = True)
	name = db.Column(db.String(32), unique=True)

#db생성
db.create_all()

#app.py를 실행하면 db에 필요한것들은 sqlalchemy가 다해줌~ db.sqlite만들어짐

app = Flask(__name__)

@app.route('/')
def hello():
	return 'hello world!'

실행후 db.sqlite가 생성되고 db테이블을 확인할수있다.


https://flask.palletsprojects.com/en/2.0.x/patterns/sqlalchemy/

 

SQLAlchemy in Flask — Flask Documentation (2.0.x)

SQLAlchemy in Flask Many people prefer SQLAlchemy for database access. In this case it’s encouraged to use a package instead of a module for your flask application and drop the models into a separate module (Large Applications as Packages). While that is

flask.palletsprojects.com

https://dubaiyu.tistory.com/144

 

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..

dubaiyu.tistory.com

 

반응형