본문 바로가기

flask9

flask 웹개발 기초 정리 - 3 (feat. SQLAlchemy) SQLAlchemy 계속 ORM Query 전 게시글에서 다뤘듯이 클래스명으로 쿼리에 접근하거나 세션으로 쿼리를 접근하든, 아래의 쿼리 실행문은 동일한 결과를 도출한다. Class.query.filter... db_session.query(Class).filter... filter 를 줄 때 변수명 앞에 : 을 사용하여 아래처럼 문자열 SQL 조건문을 작성해줄 수 있다. User.query.filter("id < :val").params(val=10) :변수명 형태로 사용하여 params 메서드에 인자로 받고 값을 대입해줄 수 있다. filter 와 filter_by 둘의 쓰임새는 조건문을 처리해주는 것이다. 다만 filter 메서드는 인자로 Column 객체나 표현식을 받아서 처리해줘야 하지만 filt.. 2024. 2. 28.
flask 웹개발 기초 정리 - 2 (feat. SQLAlchemy) SQLAlchemy RDBMS ORM(Object Relational Mapping) 으로, DBMS의 데이터베이스 구조를 파이썬의 클래스(객체)화 시키는 라이브러리이다. 객체 지향적인 코드, 즉 SQL문 대신 클래스처럼 사용할 수 있게 도와준다. 특히 DBMS 종속성이 줄어든다는 장점이 존재한다. 다만 ORM만으로 서비스 구현이 어렵다는 점과 프로시저가 많으면 장점이 무색해진다는 단점도 있다. https://www.sqlalchemy.org/ SQLAlchemy The Database Toolkit for Python www.sqlalchemy.org ORM (Object Relational Mapping) 직관적으로 해석하자면 객체 관계 맵핑을 의미한다. 즉 객체와 관계형 데이터베이스를 자동으로 연결.. 2024. 2. 27.
flask 웹개발 기초 정리 - 1 https://youtu.be/u2KnTZa1_WU?si=r8kwQJOQ2ysXKxxs 플라스크의 기본 쓰임새는 알지만~ 막상 프로젝트를 만드려고보니 막막해서 강의를 볼 필요성을 느꼈다. 위의 강의를 참고하여 정리했다. MVC 패턴 Model, View, Controller 플라스크에선 Model은 데이터 모델, View의 경우 templates 에 해당하는 웹 페이지, Controller 는 Router(Route) 에 해당한다. __init__.py 모듈의 시작점, 파이썬의 생성자에 해당 Flask Context 플라스크는 다른 웹 프레임워크와 달리 controller 의 매개변수로 request 를 받지 않음을 알 수 있다. 그럼 해당 router 에서 발생한 요청을 어떻게 처리하게 될까? 이를 위.. 2024. 2. 26.
Flask 시작하기 - flask-restx (Namespace, Model) 현재 프로젝트에서 Flask를 사용하기로 하였다. 지금껏 플라스크로 셀레니움과 같이 크롤링 자동화만 다뤄봤는데 이번엔 flask 를 주축으로 API Server 를 만들게 되었다. 프론트딴에는 Next.js 를 사용하고 서버딴에는 Flask 를 사용하게 될 예정이다. 기본적으로 프론트 프레임워크가 있으므로 Flask에선 진자2를 굳이 사용할 필욘 없어보인다. 대신 API 문서화를 위한 Swagger UI 를 구성할 수 있는 flask-restx 라이브러리를 정리해본다. Flask 와 Flask-restx 설치 및 import conda install flask conda install flask-restx from flask import Flask from flask_restx import Api, Re.. 2024. 2. 24.