Tags
- 오사카
- 대만여행
- 650d
- 군산
- ai_엔지니어링
- Python
- fdr-x3000
- k-디지털트레이닝
- 해리포터
- 수요미식회
- 사진
- 맛집
- 제주도
- 우리에프아이에스
- 전주
- 축복이
- CS231n
- 여행
- 우리fis아카데미
- SQL
- 축복렌즈
- 우리fisa
- 전시
- 시청
- 17-55
- 카페
- 건담
- 글로벌소프트웨어캠퍼스
- 도쿄
- 대만
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Today
- Total
Recent Posts
300x250
브렌쏭의 Veritas_Garage
[Python] Django Basics 본문
Django, Python, Web
Django
D는 묵음이야
- Django는 파이썬으로 작성된 오픈 소스 웹 어플리케이션 프레임워크이다.
- Django는 웹 개발을 빠르게 하고, 웹 개발을 하는데 필요한 많은 것들을 제공한다.
- 프론트엔드, 백엔드를 모두 지원한다.
- ORM(Object-Relational Mapping)을 지원한다.
- MVT 패턴(Model, View, Template) 패턴을 사용한다.
- Django는 MTV 패턴을 사용한다.
- Model: 데이터베이스를 정의한다.
- Template: 사용자가 보게 될 화면을 정의한다.
- View: Model과 Template 사이의 상호작용을 관리한다.
- Admin 사이트를 제공한다.
- Elegant URL Design을 제공한다.
- 각 URL 형태를 파이썬 함수나 클래스에 직접 연결 가능하다.
- URL을 통해 뷰를 호출할 수 있다.
- URL을 통해 뷰를 호출할 때, 추가적인 인자를 전달할 수 있다.
- Django는 ORM(Object-Relational Mapping)을 지원한다.
- ORM은 데이터베이스의 테이블을 객체로 매핑해주는 것이다.
- SQL을 사용하지 않고, 파이썬 코드로 데이터베이스를 조작할 수 있다.
WSGI (Web Server Gateway Interface)
- WSGI는 파이썬 웹 어플리케이션과 웹 서버가 통신하는 인터페이스이다.
- 파이썬에서 웹 프로그램을 개발하기 위한 표준 인터페이스로, 웹서버와 파이썬 애플리케이션이 통신하기 위한 규약.
Django Structure
Views
- Django에서 View는 웹 요청을 받아서, 전달받은 데이터를 처리해서 가공한 후, 결과를 응답하는 역할을 한다.
- View는 함수형 뷰와 클래스형 뷰로 나뉜다.
- 함수형 뷰는 함수로 작성된 뷰이다. FBV(Function-Base Views)
- 클래스형 뷰는 클래스로 작성된 뷰이다. CBV(Class-Base Views)
FBV
- 함수형 뷰는 함수로 작성되기 때문에, 간단한 로직을 처리할 때 사용한다.
CBV
- 클래스형 뷰는 클래스로 작성되기 때문에, 상속을 통해 코드의 재사용성을 높일 수 있다.
- 클래스형 뷰는 Mixin을 사용해서 코드의 재사용성을 높일 수 있다.
- Mixin은 클래스에서 특정 기능을 제공하기 위한 클래스이다.
- Mixin은 다중 상속을 통해 클래스에 기능을 추가할 수 있다.
- 클래스형 뷰는 Generic View를 사용해서 코드의 재사용성을 높일 수 있다.
- Generic View는 장고에서 제공하는 여러가지 뷰를 상속받아서 사용할 수 있다.
- Generic View는 CRUD(Create, Read, Update, Delete)에 대한 뷰를 제공한다.
- Generic View는 ListView, DetailView, CreateView, UpdateView, DeleteView 등을 제공한다.
- Generic View는 FormView를 사용해서 폼을 처리할 수 있다.
- Generic View는 TemplateView를 사용해서 템플릿을 렌더링할 수 있다.
- 클래스형 뷰는 Decorator를 사용해서 로직을 추가할 수 있다.
- Decorator는 함수를 감싸서 함수의 기능을 확장할 수 있다.
- Decorator는 @를 사용해서 함수 위에 작성한다.
- Decorator는 login_required, permission_required 등을 사용해서 로직을 추가할 수 있다.
Models
- Django에서 Model은 데이터베이스의 테이블을 정의하는 역할
- Model은 데이터베이스의 테이블을 객체로 매핑한다.
Templates
Django Template Language
- Django Template Language(DTL)은 Django에서 제공하는 템플릿 언어이다.
- DTL은 HTML과 Python 문법을 혼합해서 사용할 수 있다.
- DTL은 변수, 필터, 태그를 제공한다.
- DTL은 if, for, block, extends 등을 제공한다.
- DTL은 include를 사용해서 템플릿을 재사용할 수 있다.
- DTL은 템플릿 상속을 사용해서 템플릿을 재사용할 수 있다.
- 템플릿 상속은 기본 템플릿을 상속받아서, 확장된 템플릿을 만들 수 있다.
- 템플릿 상속은 block을 사용해서 확장할 부분을 지정할 수 있다.
'[Project_하다] > [Project_공부]' 카테고리의 다른 글
[ML] 통계 개념 기초 :: 기술통계 (0) | 2024.09.09 |
---|---|
[WEB_HTTP] Cookie와 Session (0) | 2024.08.29 |
[RAG] RAG와 ELK (0) | 2024.08.26 |
[AI번역] SIMD 명령어로 벡터 검색 가속화 (0) | 2024.08.22 |
[AI번역] 엘라스틱서치의 벡터 검색: 설계 이면의 논리 (0) | 2024.08.22 |
[ELK] Logstash (0) | 2024.08.16 |
[ELK] Elastic Search (0) | 2024.08.12 |
Comments