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를 프로젝트안에 삽입함
반응형
'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 |