[flask 회원1] 테이블만들기
본문 바로가기

Backend

[flask 회원1] 테이블만들기

기존sqlite파일을 삭제하고 다시 실행하면 새로운sqlite이 만들어지는것을 확인할수있음

 

app.py

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

# # db클래스만들기(test)
# 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 render_template('hello.html')

# 기존에는 플라스크명령어로실행했는데
# 파이썬 명령어로 실행할수있게 해보자

if __name__ == "__main__":
	# 현재경로를 프로젝트 절대경로로 사용
	basedir = os.path.abspath(os.path.dirname(__file__))
	dbfile = os.path.join(basedir, 'db.sqlite')

	#내가 사용할 데이터베이스 URI
	app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + dbfile
	#요청이 끝날때마다 커밋한다.->db반영
	app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
	#버전상관없게 처리
	app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

	# 초기화
	db.init_app(app)
	# models.py에 db = SQLAlchemy(app)여야하는데 app이 없으니까 여기서함
	db.app = app
	# db실행
	db.create_all()

	app.run(host='127.0.0.1', port=5000, debug=True)

 

models.py

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

# 1.회원정보를 만들어보자
class FastCampusUser(db.Model):
	__tablename__ = "FastCampusUser"
	id = db.Column(db.Integer, primary_key = True)
	password = db.Column(db.String(64))
	userid = db.Column(db.String(32))
	username = db.Column(db.String(8))

반응형