반응형
코드를 분리한다. app.py와 models.py 두 개의 파일로 분리한다. app.py는 controller를, models.py는 model을 담당한다.
1. app.py
import os
from flask import Flask
from flask import render_template
from models import db
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')
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + dbfile
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app) # app 설정값들을 초기화한다.
db.app = app # models.py에서 db를 가져와서 db.app에 app을 명시적으로 넣어준다.
db.create_all()
app.run(host='127.0.0.1', port=5000, debug=True)
2. models.py
models.py 파일 안에서 필요한 모델을 생성한다. 회원 모델을 생성해보겠다.
from falsk_sqlalchemy import SQLAlchemy
db = SQLAlchmey()
# 회원모델 생성
class Fcuser(db.Model):
__tablename__ = 'fsuser'
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))
반응형
'PNU DSC > Solution Challenge' 카테고리의 다른 글
Flask 08. 회원관리 - Controller (0) | 2020.03.09 |
---|---|
Flask 07. 회원관리 - View (bootstrap) (0) | 2020.03.09 |
Flask 05. Jinja2 (0) | 2020.03.09 |
Flask 04. FLask-SQLAlcemy (0) | 2020.03.08 |
Flask 03. MVC (0) | 2020.03.08 |