본문 바로가기

Python/Flask9

Flask-session 으로 서버에서 세션 관리 로그인 시 세션 정보를 넘겨주고 싶었다. 기존 Flask 에 존재하는 session 은 클라이언트 측에 세션을 저장하는 방식이므로 매우 위험하다. from flask import session flask-session 하지만 플라스크 라이브러리 중 flask-session 을 설치하고 app에 설정해주면 해당 session은 서버측에 저장되게 된다. from flask_session import Session server_session = Session(app) 이때 꼭 정해야 하는 app config 두 가지는 SECRET_KEY 와 SESSION_TPYE 이다. app 에 여러 설정 들이 늘어나면서 app.py 가 더러워져서 클래스로 분리시켜 주었다. import os, dotenv dotenv.lo.. 2024. 3. 9.
SQLAlchemy - filter + 조회 예시 SQLAlchemy 를 사용하고 있으나 filter 에 관련된 사용법을 정리할 필요가 있어서 작성한다. ORM(Object Relational Mapping) 라이브러리인 SQLAlchemy 객체 지향 프로그래밍과 관계형 데이터베이스의 데이터를 맵핑하기 위해서 사용된다. 특히 filter 메서드는 ORM을 사용할 때 where 절처럼 쿼리문의 조건문을 작성해줄 때 사용해준다. 모델클래스.query.filter() 형태로 사용되며 filter 메서드까지만 사용해주면 쿼리문의 결과가 나올 것이라는 예상과 달리 쿼리문 자체로 콘솔에 보이게 된다. 비슷한 용법으로 filter_by 도 있지만 사용법이 조금 상이하고 제한적이라 대표적으로 filter만 정리한다. 기본 사용법 Select * from 테이블명 wh.. 2024. 3. 7.
Flask + PostgreSQL + React - 2 https://youtu.be/EAcD5ueqvHQ?si=tJ21_L9IAaKYkDID 저번 강의에서 간단하게나마 백엔드 구성이 끝났다. 플라스크와 SQLAlchemy, pgcopg2 를 활용하여 간단하게 이벤트 테이블의 모델을 만든 다음 CRUD를 구성했다. Frontend 구성하기 요즘 리액트 프로젝트는 vite 를 쓰는게 대세지만 예전 강의 특성상 cra을 쓰고 있다. 일단은 강의에 따라가기 위해 오랜만에 cra를 사용하고, axios 와 date-fns 를 다운 받아준다. date-fns 기존의 날짜/시간 관련 라이브러리는 day.js 만 알고 있었는데 해당 라이브러리를 새로이 알게 되었다. https://www.npmjs.com/package/date-fns date-fns Modern Java.. 2024. 3. 6.
Flask + PostgreSQL + React - 1 https://youtu.be/RcQwcyyCOmM?si=4LxZ80Ezl3Wts3yG 프로젝트 구성상 해당 조합을 사용하게 되어 우연히 발견한 강의이다. 플라스크는 아직도 어떻게 설계해야할지 막막해서 강의를 들으며 찬찬히 내용을 정리해볼 예정이다. pipenv 파이썬은 기본적으로 가상환경에 패키지를 다운받거나 전역으로 다운 받는 방법만 사용했었다. 그런데 해당 라이브러리가 있다는 것을 알게 됐고 패키지를 프로젝트 단위로 관리할 수 있도록 도와주는 패키지 관리 도구라고 한다. 파이썬에서 공식으로 권장하는 패키지 관리 툴이라니까 사용 안할 이유가 없을 것이다. 마치 우리가 리액트든 넥스트든 프로젝트 안에 package.json 파일로 여러 라이브러리들을 관리하듯 해당 라이브러리가 있으면 비슷하게 가능해진다.. 2024. 3. 5.