Django Template Engine은 무엇이고 어떤 기능을 제공합니까?
- Django에서 제공하는 서버 사이드 템플릿 엔진으로 간단한 Template 작성 툴.
- DB, API에서 가져온 데이터를 HTML에서 코드를 작성하고 웹을 구현할 수 있도록 도움
- Django Template Engine이 있어 Django만으로 프론트와 백엔드를 분리하지않고 웹을 전부 구현할 수 있다.
**템플린 엔진이란 : 템플릿 양식과 특정 데이터 모델에 따른 입력자료를 합성, 결과 문서를 출력하는 소프트웨어 컴포넌트를 말함
** 템플릿 엔진의 종류 : 레이아웃 / 텍스트 / 서버사이드 / 클라이언트 템플릿 엔진 등
** 서버사이드 템플릿 엔진 : 서버에서 DB, API에서 가져온 데이터를 HTML에 넣은 코드를 따라 그려 넣고 클라이언트에 전달해주는 역할을 함. html에서 고정적으로 사용되는 부분은 템플릿으로 만들어 두고 동적으로 생성되는 부분만 템플릿의 특정 장소에 끼워넣는 방식으로 동작함
- 작동 순서 :
1) 서버가 클라이언트 요청을 받음
2) 필요한 데이터를 가져옴
3) 미리 정의된 template에 해당 데이터를 적절하게 입력함
4) 서버에서 데이터가 반영된 template = HTML 을 그림
5) HTML을 클라이언트에게 전달함
[참고] : https://usefultoknow.tistory.com/entry/템플릿-엔진Template-Engine-이란
Django를 통해 CRUD를 구현하는 방법에 대해서 HTTP Method와 함께 설명하시오
- get: 정보 조회 Read
- post: 정보 생성 Create (DB에 정보 업로드!)
- put: 정보 수정 Update
- delete: 정보 삭제 Delete
함수형으로 구현하는 방법과 클래스 뷰형으로 구현하는 방법이 있다.
함수형으로 구현할 경우 일일이 request.GET 처럼 해당 메소드를 정의해주어야하는 번거로움이 있지만 틀이 없어 비교적 자유롭게 작성할 수 있다. 클래스 뷰형으로 구현하는 경우 클래스명을 정의하고 하위 함수로 get, post, put, delete를 정의하여 해당 기능을 구현한다.
두 가지 모두 CRUD를 작성할 수 있는 방법이지만 함수형이 API를 일일이 지정해주어야하는 점에서 불편함이 있고, 클래스 뷰형이 Django의 쉽고 편하게, 짧은 코드로 간편하게 개발하자는 모토를 적용해 보다 간결하게 작성할 수 있다.
함수형 뷰와 클래스형 뷰는 로직에는 서로 차이가 없지만 확장성 / 코드 작성의 자유도에서 차이가 나므로 적절한 것을 골라서 적용하도록 한다.
'취대넓얕' 카테고리의 다른 글
[기술면접] 5일차 문답 | 테스트코드 Fixture CSRF (0) | 2023.07.25 |
---|---|
[기술면접] 4일차 문답 | FBV CBV 테스트코드 TDD (2) | 2023.07.24 |
[기술면접] Django 문답 | DRF, sqlite (0) | 2023.07.24 |
[기술면접] 3일차 문답 | FK O2O M2M (0) | 2023.07.21 |
[기술면접] 1일차 문답 | Django 장점 특징 (0) | 2023.07.20 |