[python] SQLAlchemy와 Bottle 웹 프레임워크 연동 방법

이번에는 SQLAlchemy와 Bottle 웹 프레임워크의 연동 방법에 대해 알아보겠습니다. SQLAlchemy는 파이썬에서 가장 많이 사용되는 ORM(Object Relational Mapping) 라이브러리 중 하나입니다. Bottle은 간단하고 가벼운 웹 프레임워크로, 많은 사람들에게 사랑받고 있는 프레임워크입니다.

SQLAlchemy 설치

먼저 SQLAlchemy를 설치해야 합니다. 아래의 명령어를 사용하여 pip를 통해 SQLAlchemy를 설치할 수 있습니다.

pip install SQLAlchemy

Bottle 설치

다음으로 Bottle을 설치해야 합니다. 마찬가지로 pip를 사용하여 Bottle을 설치할 수 있습니다.

pip install bottle

SQLAlchemy와 Bottle 연동하기

이제 SQLAlchemy와 Bottle을 연동해보겠습니다. 먼저 필요한 모듈들을 import 합니다.

from bottle import Bottle, run
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

다음으로 SQLAlchemy의 데이터베이스 연결 설정을 작성합니다.

engine = create_engine('sqlite:///example.db', echo=True)
Base = declarative_base()
Session = sessionmaker(bind=engine)
session = Session()

이제 Bottle 애플리케이션을 만들고, SQLAlchemy를 활용하여 데이터베이스에 접근하는 예제를 작성해보겠습니다.

# Bottle 애플리케이션 생성
app = Bottle()

# ORM 모델 정의
class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String(50))

# 라우팅 설정
@app.route('/users/<user_id>')
def get_user(user_id):
    user = session.query(User).filter_by(id=user_id).first()
    return f"User Name: {user.name}"

# 서버 실행
if __name__ == '__main__':
    Base.metadata.create_all(engine)
    run(app, host='localhost', port=8080, debug=True)

위의 예제 코드에서는 /users/<user_id> 엔드포인트에 접근하여 해당 아이디에 해당하는 사용자의 이름을 가져오는 예제를 보여줍니다.

이제 SQLAlchemy와 Bottle 웹 프레임워크의 연동 방법에 대해 알아보았습니다. SQLAlchemy를 활용하면 더욱 효과적이고 편리한 데이터베이스 접근이 가능하며, Bottle과 함께 사용하면 가벼운 웹 애플리케이션을 구축할 수 있습니다.

참고 문서: