Q: Django Template Engine은 무엇이고 어떤 기능을 제공합니까?
A:
무엇 : Django 기본 지원 템플릿 엔진
https://jjinisystem.tistory.com/38
기능:
- Django 템플릿은 상속을 지원
- 다른 템플릿 파일에 "포함"될 수도 있습니다.
- 템플릿 파일에는 "if", "for" 등과 같은 논리 문이 포함될 수 있습니다.
- 템플릿은 사용하기 매우 편리하며 Django의 컨트롤러 논리에서 보기 구성 요소를 분리합니다.
- 컨트롤러 구성 요소에서 보기를 분리하면 별도의 파일을 동시에 작업할 수 있습니다. 예를 들어, 웹 디자이너는 보기 구성 요소(즉, Django 템플릿 파일)에서 작업하고 Python django 개발 프로그래머는 컨트롤러 구성 요소(views.py 파일)에서 작업할 수 있습니다. 이렇게 하면 구성 요소가 분리되므로 많은 시간이 절약됩니다.
https://hackernoon.com/how-to-use-the-django-templating-system-efficiently-i11v33bi
Q: Django를 통해 CRUD를 구현하는 방법에 대해서 HTTP Method와 함께 설명하시오.
A:
- Django는 사용자의 Request 요청에 따라 url을 조회하여 해당하는 view로 이동합니다
- FBV, CBV에 따라 작성된 HTTP메서드를 확인합니다
- GET 메서드를 통해 조회를하고, POST를 통해 게시글 작성등을 진행하며, PUT을 활용하여 데이터 전체를 업데이트 할 수 있고, DELETE를 통해 삭제합니다
- PATCH를 통해 부분적인 업데이트를 진행하기도 하나, PUT의 partial=True를 통해 부분적으로 업데이트를 함으로써 PUT하나로만으로도 업데이트 관련 메서드를 진행할 수 있습니다
https://velog.io/@kti0940/Django-%EC%85%80%ED%94%84-50%EB%AC%B8-50%EB%8B%B5
- django – A Python web framework that follows the model–template–views architectural pattern.
- djangorestframework – A powerful and flexible toolkit for building Web APIs.
In Django, views are divided into two major types; function-based views (FBVs) and class-based views (CBVs).
- function-based views – Are functions that leverage the @api_view decorator and return HTTP responses after processing the business logic of the API.
- class-based views – Python objects that allow us to create views from inherited classes.
These views handle the application logic of the API and return information as responses to the client or frontend application. As a matter of best practice, we always keep the application logic in a views.py file.
To simplify the process, we’ll use the GenericAPIView class provided by the Django REST framework to create the views. Using the GenericAPIView class is quite similar to the regular View class since the incoming request will be delegated to an appropriate handler method such as .get() or .post().
- post() – This handler will be evoked by the REST framework to add the new record to the database when a POST request hits the server at /api/notes. -> the specific url. 지정된 url.
- get() – This handler will be called to find a record by ID and return the found record to the client or frontend app.
- patch() – This handler will be evoked by the REST framework to find a record that matches an ID and update the fields of the found record.
- delete() – This handler will be evoked to find a record by ID and delete the found record from the database.
https://codevoweb.com/build-crud-api-with-django-rest-framework/
- 프로젝트 기술에서 Pytorch, Docker, Nginx, Postgresql .. . 등
사용 스택, CICD, DB등 위계를 나누어 설명하면 좋겠습니다.
사용 스택:
언어: Python, JavaScript, HTML, CSS
프레임워크: Django, Docker
라이브러리: DRF, Pytorch
패키지: django-allauth
플러그인: simple JWT
웹서버: Nginx, Gunicorn
웹서비스: EC2, S3, Route53
CICD:
GitHub Actions
데이터베이스:
PostgreSQL
PostgreSQL: 소프트웨어
PostgreSQL은 확장 가능성 및 표준 준수를 강조하는 객체-관계형 데이터베이스 관리 시스템의 하나이다.
도커: 응용 프로그램
도커는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다.
Docker는 DevOps 및 개발자에게 혜택을 제공하기 위해 설계된 개방형 애플리케이션 개발 프레임워크입니다.
https://www.oracle.com/kr/cloud/cloud-native/container-registry/what-is-docker/
https://www.castingn.com/sourcing/kkultip_detail/110
프레임워크: 자동차, 자전거 등 운송수단
라이브러리: 볼트, 톱, 드라이버 등 연장
먼 곳에 가기 위해 연장들로 운송수단을 만들어서 갈 수도 있겠지만 시간과 노력을 절약 하기위해 운송수단을 정해서 이동
CSS: 스타일 언어
HTML: 마크업 언어
DRF: Django 안에서 RESTful API 서버를 쉽게 구축할 수 있도록 도와주는 오픈소스 라이브러리
CI/CD (Continuous Integration/Continuous Delivery)는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 더욱 짧은 주기로 고객에게 제공하는 방법입니다. CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다.
https://aliencoder.tistory.com/20
django-allauth는 사용자 인증, 등록 및 계정 관리를 처리하기 위한 일련의 보기, 템플릿 및 도우미 기능을 제공하는 Django 패키지입니다.
PyTorch는 Python을 위한 오픈소스 머신 러닝 라이브러리이다.
Simple JWT
A JSON Web Token authentication plugin for the Django REST Framework.
플러그인(plugin) 또는 추가 기능(애드인;add-in, 애드온;add-on)은 호스트 응용 프로그램과 서로 응답하는 컴퓨터 프로그램이며, 특정한 "주문식" 기능을 제공한다.
EC2: 소프트웨어
아마존 일래스틱 컴퓨트 클라우드는 아마존닷컴의 클라우드 컴퓨팅 플랫폼 아마존 웹 서비스의 중앙부를 이루며, 사용자가 가상 컴퓨터를 임대 받아 그 위에 자신만의 컴퓨터 애플리케이션들을 실행할 수 있게 한다.
아마존 S3: 웹 사이트
아마존 S3는 아마존 웹 서비스에서 제공하는 온라인 스토리지 웹 서비스이다.
Amazon Route 53는 가용성과 확장성이 뛰어난 도메인 이름 시스템(DNS) 웹 서비스입니다.
'TIL' 카테고리의 다른 글
TIL 072423 (0) | 2023.07.24 |
---|---|
TIL 072123 (0) | 2023.07.24 |
TIL 071923 (0) | 2023.07.19 |
TIL 071423 (0) | 2023.07.14 |
TIL 071323 (0) | 2023.07.13 |