본문 바로가기

플라스크4

Flask + PostgreSQL + React - 1 https://youtu.be/RcQwcyyCOmM?si=4LxZ80Ezl3Wts3yG 프로젝트 구성상 해당 조합을 사용하게 되어 우연히 발견한 강의이다. 플라스크는 아직도 어떻게 설계해야할지 막막해서 강의를 들으며 찬찬히 내용을 정리해볼 예정이다. pipenv 파이썬은 기본적으로 가상환경에 패키지를 다운받거나 전역으로 다운 받는 방법만 사용했었다. 그런데 해당 라이브러리가 있다는 것을 알게 됐고 패키지를 프로젝트 단위로 관리할 수 있도록 도와주는 패키지 관리 도구라고 한다. 파이썬에서 공식으로 권장하는 패키지 관리 툴이라니까 사용 안할 이유가 없을 것이다. 마치 우리가 리액트든 넥스트든 프로젝트 안에 package.json 파일로 여러 라이브러리들을 관리하듯 해당 라이브러리가 있으면 비슷하게 가능해진다.. 2024. 3. 5.
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.