본문 바로가기

Web/Django12

[Django] 개발환경 세팅하기 Django? django는 파이썬을 기반으로하는 웹 풀 스택 개발 프레임워크다. 기본적으로 제공되는 기능이 많고 풀스택 기능을 제공하기 때문에 편리하게 웹 페이지를 개발할 수 있다. 또한, React, Flutter, Vue와 같은 프론트 엔트 프레임워크와 같이 연동하면 ORM, Admin등의 백엔드 기능으로 좀 더 완성도 있는 플랫폼을 만들 수 있다. 개인적인 기준으로 다른 프레임워크보다 많은 기능과 자료들이 있어 올인원하기 좋은 프레임워크인 것 같다. 다만 단점도 있다. 기능이 많은 만큼 무겁고 복잡하며 Flask나 FastAPI 보다 자유도가 떨어진다. Django 공식 문서 를 참고 MVT 패턴 시스템 Django는 어떤 시스템으로 동작을 하게 되는 것일까? 기본적으로 Django는 요청이 들어.. 2023. 11. 22.
[Django] 애플리케이션 요청 및 처리 django 웹 애플리케이션에서의 요청 처리는 일반적으로 View함수를 사용해 이루어진다. 뷰는 CBV와 FBV 두가지의 형태로 구성이 되는데 사용자가 직접 모든 기능을 정의하는 FBV와 다르게 CBV는 Generic View를 상속 받아 구성한다. Views : CBV와 FBV CBV(Class Based View) : Generic View을 사용할 때 쓰이며 총 16가지의 Generic View를 만들 수 있다. 클래스 형태로 구현한다. FBV(Function Based View) : 사용자 정의 함수에 의해 웹페이지를 구성할 때 사용하며 Request를 받으면 함수 내 필요한 기능을 수행하고 render()를 통해 웹 페이지를 반환한다. 사실 CBV방식과 FBV방식의 차이는 함수냐 클래스냐의 차이.. 2023. 11. 21.
[Django] 데이터베이스 모델링 먼저, Django을 사용해봤다면 Migration이라는 단어를 잘 알고 있을 것이다. Django은 기본적으로 ORM 기반으로 작동되는 웹 프레임워크이기 때문에 개발자가 SQL를 입력하지 않아도 프로그래밍 상에서 데이터를 입력할 수 있는 쉬운 구조로 이루어져 있다. Django ORM Django ORM은 Object Relational Mapping의 약자로 객체와 DB를 매핑 시켜주는 역할을 한다. 굳이 SQL을 작성할 필요 없이 ORM에서 제공하는 메서드를 사용해 데이터베이스의 데이터를 쉽게 접근할 수 있다. 그렇다고 편하다고 해서 이점만 있는 것은 아니다. Django ORM은 은근 생각보다 똑똑하지 않는데.. 짧게 작성했을 땐 편하지만 복잡한 쿼리를 작성할 땐 생각했던 SQL 쿼리보다 복잡하게.. 2023. 11. 18.