오도원입니다.

건강과 행복을 위하여

PNU DSC/Solution Challenge

Flask 06. 회원가입 - Model

오도원공육사 2020. 3. 9. 15:51
반응형

코드를 분리한다. 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