티스토리 뷰

밥대생

Flask, SQLAlchemy 기본 세팅

알 수 없는 사용자 2016. 2. 4. 17:36
$ sudo apt-get install libmysqlclient-dev

(venv) $ pip install Flask
(venv) $ pip install SQLAlchemy
(venv) $ pip install Flask-SQLAlchemy
(venv) $ pip install mysqlclient

mysqlclient는 mysql과 SQLAlchemy를 연결해주는 역할을 하며 libmysqlclient-dev가 먼저 설치 되어야 설치할 수 있습니다. 

SQLAlchemy는 python으로 작성한 코드를 SQL문으로 변환하여 mysql에 전달합니다

Flask-SQLAlchemy는 Flask app에서 SQLAlchemy를 편하게 쓸 수 있도록 해줍니다.

기본적인 코드는 다음과 같습니다.

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://<id>:<password>@localhost:3306/<db name>'

db = SQLAlchemy(app)

class MyTable(db.Model):
id = Column(db.Integer, nullable=False, primary_key=True)
value = Column(db.String(40), nullable=False, default='')


@app.route("/")
def hello():
return "Hello World!"


@app.route('/select')
def select():
row_id = request.args.get('id', type=int)
row = MyTable.query.filter_by(id=row_id).first()
return (row.value, 200) if row else ('', 400)


@app.route('/insert', methods=['POST'])
def insert():
value = request.form.get('value', type=str)
row = MyTable(value=value)
db.session.add(row)
db.session.commit()
return ('ok', 200)


if __name__ == "__main__":
app.run('0.0.0.0', port=4567)


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함