Flask-SQLAlchemy Study....ing

김형준·2022년 8월 31일
0

TIL&WIL

목록 보기
44/45
post-thumbnail

출처: 🔗 인프런 강의


Intro


기본 개념

  • Flask: 마이크로 서비스 개발을 위해 디자인 된 프레임워크.

  • SQLAlchemy: 파이썬 진영의 ORM (클래스를 데이터베이스에 매핑할 수 있으므로 개체 모델과 데이터베이스 스키마를 처음부터 완전히 분리된 방식으로 개발할 수 있다.)

  • Flask-SQLAlchemy: SQLAlchemy를 Flask에서 사용하게 만들어주는 Flask 확장 모듈.


Settings


환경 설정

  • Goorm IDE 사용

    • 웹 환경에서 리눅스 컨테이너 생성하여 사용하는 것
    • Flask 프로젝트 선택
    • Ubuntu 18.04 LTS 선택
  • 터미널 명령어 입력

    • service mysql start : mysql 실행
    • mysql -uroot -p : mysql 접속
      • password 는 입력한 적 없으므로, 그냥 엔터로 넘김)
    • show databases; : 현재 데이터베이스를 조회
    • create database [테이블 명];
    • quit : mysql 종료
    • pip3 install virtualenv : 파이썬 가상환경 설치
      • 여기에서 virtualenv는 파이썬의 가상환경으로 python 실행파일, 라이브러리 설치 장소 등이 제공되고' 가상 환경'답게 패키지를 설치해도 기존 시스템에 영향을 주지 않도록 설계되어 있다.
      • 즉, 시스템의 환경과 각각의 프로젝트 환경을 격리하여 패키지/라이브러리간 version issue 또는 이외의 dependency issue를 차단하고, 프로젝트에서 사용하는 패키지/라이브러리를 관리하거나 정리하기 수월하게 도와준다.
      • 🔗출처
    • virtualenv venv : venv 폴더 생성
    • source venv/bin/activate : 가상 환경 실행
    • pip install flask : 생성하고 실행한 venv에 Flask 설치
    • pip install flask_sqlalchemy : venv에 Flask_SQLAlchemy 설치
    • pip install ipython : ipython 모듈 설치

Main Study


SQLAlchemy와 DB 연동

# application.py 코드

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
# SQLAlchemy와 DB 연동하기 ( DB URI를 config에 입력해준다.)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:@localhost/practice'

db = SQLAlchemy(app)

# User 객체 
class User(db.model):
    id = db.Column(db.Integer, primary_key = True)
    username = db.Column(db.String(80), nullable = False)
    email = db.Column(db.String(120), nullable = False)
    
    def __repr__(self):
        return '<User %r>' % self.username
profile
BackEnd Developer

0개의 댓글