일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- intervals
- ansible
- terraform
- FastAPI
- ebs
- elasticsearch
- dockerfile
- github
- asgi
- DevOps
- YAML
- IAM
- Kubernetes
- Service
- asyncio
- IAC
- AWS
- event loop
- EC2
- EKS
- POD
- docker
- 자바스크립트
- 쿠버네티스
- Django
- WSGI
- Python
- Deployment
- leetcode
- K8S
- Today
- Total
목록Django (7)
궁금한게 많은 개발자 노트
Django란 Python을 기반으로 웹 개발을 쉽게 할 수 있도록 도와주는 웹 프레임워크입니다. 기본적으로 로그인, 회원가입, 인증, CORS, Admin등 반복적으로 구현해야 하는 부분들은 대부분 구현이 되어있습니다.또한, Python을 사용할 수 있으므로 다양한 라이브러리들을 사용하여 손쉽게 웹 서버를 구축할 수 있습니다. Django의 장점으로는 Django에서 웹 페이지를 생성할 때 Frontend와 관련된 프레임워크(Vue, React, angular)를 사용하지 않고도 만들 수 있습니다. DTL(Django Template Language)를 사용하여 template에 html을 넣어 웹 페이지를 생성할 수도 있습니다. (Full Stack)데이터베이스와의 연동에 있어서도 ORM(Object..
psycopg2와 psycopg2-binary은 Python에서 PostgreSQL 데이터베이스에 연결하고 상호 작용하는 데 사용되는 라이브러리입니다. 그러나 이 두 라이브러리는 다른 설치 방법과 동작 방식을 가지고 있습니다.psycopg2: psycopg2는 C 언어로 작성된 PostgreSQL 언어 바인딩의 Python 구현입니다. 이 라이브러리는 Python 환경에 직접 컴파일해야 하기 때문에 컴파일러와 관련된 의존성이 있습니다. psycopg2를 설치하려면 해당 운영 체제에 컴파일러 및 PostgreSQL 개발 파일이 설치되어 있어야 합니다. 따라서 psycopg2를 설치하려면 일반적으로 C 컴파일러와 PostgreSQL 개발 파일을 수동으로 설치해야 합니다.psycopg2-binary: psyc..
뷰는 웹 요청을 받아서 최종 응답 데이터를 웹 클라이언트로 반환하는 함수(정확히는 호출 가능한 객체 callable)입니다. # callable객체란 : 스페셜 메소드인 __call__메소드를 가지고 있는 class를 객체화 -> 객체를 함수처럼 사용 가능 웹 요청을 분석하고 데이터베이스 처리 등 필요한 로직을 수행하고, 템플릿을 통해 화면에 표시할 데이터를 만들어서, 최종 데이터를 우베 클라이언트에게 응답해줍니다. django에서는 뷰를 함수로도 작성할 수 있고, 클래스로도 작성할 수 있습니다. 간단한 로직인 경우 함수형 뷰로 신곡하게 개발하는 것도 하나의 방법이지만, 로직이 복잡해지고 프로젝트가 커질수록 클래스형 뷰의 장점이 효과를 발휘. django에서는 잘 준비된 generic view를 제공하고..
테이블 간에는 관계를 맺을 수 있으며, django는 테이블 간의 관계를 3가지로 분류하여 제공 (1:N, N:N, 1:1) 첫째로, 관계라는 것은 양방향 개념으로 양쪽 모델에서 정의가 필요한게 원칙이지만, django에서는 한쪽 클래스에서만 관계를 정의하면 이를 바탕으로 상대편 정의는 자동으로 생성 두번째로, 한쪽 방향으로 관계를 생성하거나 변경하면, 반대 방향으로의 관계또 그에 다라 변한다는 것입니다. 따라서, 개발자는 한쪽 클래스에만 관계를 정의하거나 한쪽 방향으로의 관계 설정하는 것을 이해할 수 있어야 합니다. [ N:1 관계 ] 테이블 간에 N:1관계를 맺기 위해서는 모델의 필드를 정의할 때 ForeignKey 필드 타입을 사용하면 됩니다. ForeignKey타입은 관계를 맺고자 하는 모델 클래..
모델이란 테이블을 정의하는 django의 핵심 클래스를 의미하며 models.py파일에 테이블과 관련된 사항들을 정의 ORM 방식에 기반하여 테이블을 클래스로 정의하고 있어, 클래스의 속성과 메소드를 가질 수 있습니다. 테이블의 column은 모델 클래스의 속성으로 정의하고, 테이블에는 메소드가 없지만 모델 클래스에서는 테이블과 관련된 메소드들을 정의할 수 있습니다. 이렇게 함으로써 테이블에 관련된 데이터와 행위를 모두 모델 클래스 한 곳에서 정의할 수 있는 장점을 가집니다. [ 모델 속성 ] 모델의 필드는 모델 클래스의 속성으로 정의되고, 모델 클래스의 속성들은 테이블의 필드로 1:1 매핑 모델 클래스에서 모델 필드는 가장 중요한 속성이며 필수 == 테이블에서 컬럼이 필수인 것과 같은 이치 모델 클래스..