기존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))
반응형
'Backend' 카테고리의 다른 글
파이썬 Jinja 자바스크립트 파라미터 총정리 (0) | 2021.11.22 |
---|---|
파이썬 삼항연산자 예시, cannot assign to conditional expression (0) | 2021.11.04 |
[flask 기초2] SQLAlchemy (0) | 2021.07.16 |
[python] form 태그로 직접 insert를 해보자 (0) | 2021.07.14 |
python execute() 메소드 예제 (0) | 2021.07.08 |