본문 바로가기
python/django

파이썬으로 백엔드 서비스 개발하기 1편: django란?

by kimjunhee9339 2024. 5. 20.

django란 파이썬 웹 개발 프레임워크로 백엔드 프론트엔드 모두 사용가능하다.

django icon

django의 주요 특징

1. MTV 아키텍처: 모델(Model), 템플릿(Template), 뷰(View)로 구성된 아키텍처를 사용하여 코드의 구조를 명확히 하고 유지보수를 쉽게 한다.  (models.py, views.py, urls.py이 세가지가 결합되어 요청과 응답이 이루어지고 그걸 웹사이트에 보여주는게 템플릿이다.)

mtv 아키텍처

 

2. admin page: admin page에서 데이터베이스를 조작,관리할 수 있다.

#myapp/admin.py
admin.site.register({Model}) #다음과 같이 모델을 admin page에 추가할 수 있다. (/admin)

 

3. ORM(Object-Relational Mapping): 데이터베이스와의 상호 작용을 객체지향적으로 할 수 있게 해주는 ORM 기능을 제공한다.

#많이 사용하는 ORM
Model.objects.create(data) #데이터 생성후 모델 저장
Model.objects.all() #모든 데이터를 불러옴
Model.objects.get(pk=pk) #데이터중 조건에 부합하는 데이터를 한개만 불러옴
Model.objects.filter(pk=pk) #여러개의 데이터중 조건에 부합하는 데이터들을 불러옴
Model.objects.method().delete() #선택한 데이터 삭제

4.보안: 일반적인 보안 취약점(예: SQL 인젝션, XSS, CSRF)으로부터 애플리케이션을 보호하는 다양한 보안 기능을 내장하고 있다.

#쿠키저장에서 쓰이는 http only cookie, secure기능
res=Response({"message":"Remember Me"},status=status.HTTP_201_CREATED)
res.set_cookie("rememberMe","on",httponly=True,max_age=60*60*24*7,secure=True)

 

5. 재사용 가능한 앱: Django는 프로젝트 간에 쉽게 재사용할 수 있는 애플리케이션 모듈을 작성할 수 있게 해준다.

앱간에 생성한 모델과 뷰를 재사용할 수 있다.

 

6. 커뮤니티와 문서: Django는 활발한 커뮤니티와 풍부한 문서를 제공하여 개발자들이 필요할 때 도움을 받을 수 있다.