Python13 Flask + PostgreSQL + React - 1 https://youtu.be/RcQwcyyCOmM?si=4LxZ80Ezl3Wts3yG 프로젝트 구성상 해당 조합을 사용하게 되어 우연히 발견한 강의이다. 플라스크는 아직도 어떻게 설계해야할지 막막해서 강의를 들으며 찬찬히 내용을 정리해볼 예정이다. pipenv 파이썬은 기본적으로 가상환경에 패키지를 다운받거나 전역으로 다운 받는 방법만 사용했었다. 그런데 해당 라이브러리가 있다는 것을 알게 됐고 패키지를 프로젝트 단위로 관리할 수 있도록 도와주는 패키지 관리 도구라고 한다. 파이썬에서 공식으로 권장하는 패키지 관리 툴이라니까 사용 안할 이유가 없을 것이다. 마치 우리가 리액트든 넥스트든 프로젝트 안에 package.json 파일로 여러 라이브러리들을 관리하듯 해당 라이브러리가 있으면 비슷하게 가능해진다.. 2024. 3. 5. Jinja2 and Werkzeug? Flask 는 두 개의 외부 라이브러리인 Jinja2 템플릿 엔진과 Werkzeug WSGI 툴킷을 사용한다. jinja2 특정 문법을 사용하여 해당 문서들의 필요한 부분을 웹 브라우저가 인식할 수 있는 html 로 변환시켜주는 역할을 수행한다. (즉 Data + Template = HTML) 그밖에도 샌드박스 실행 및 선택적 오토 이스케이프를 추가하므로 보안성도 높이게 됩니다. 플라스크에선 render_template() 함수를 사용하여 진자2의 문법을 사용하여 html을 작성해준 파일을 넘겨주는 형식으로 사용한다. https://jinja.palletsprojects.com/en/3.1.x/ Jinja — Jinja Documentation (3.1.x) jinja.palletsprojects.com.. 2024. 3. 4. 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. 이전 1 2 3 4 다음