( 춤 안춥니다. )
이번 시리즈는...
백엔드로 가는길,
장뽀장뽀! 장고 뽀개기!
입니다.
(우와아아아앙아ㅏㅏㅏㅏ~!!!!)
데이터베이스를 이용해서 웹사이트를 작성하기 위해서 만들어진 프레임워크에요.
그렇기 때문에,
- 데이터 베이스를 다루는 부분
- 웹의 템플릿 ( 보여지는 모양 ) 에 대해 동작하는 부분
- 요청으로 온 URL 값에 대한 제어를 하는 부분
을 주축으로 하는 구조를 가졌어요.
그래서, 장고만으로도 웹 개발을 할 수도 있죠!
장고만으로 웹 개발 을 하면,
- 매번 웹 페이지의 형태인 템플릿 ( 페이지의 형태 ) 을 통신에서 보내야함.
- 데이터베이스가 직접적으로 노출되어있기 때문에 공격받기가 쉬움.
과 같은 약점이 생기고,
- 처리해야할 데이터의 양이 많아짐.
- 컴포넌트 활용 등 업무의 효율성을 더욱 추구하게됨.
라는 웹 개발업계의 변화가 있었어요.
그래서, 페이지를 보여주는 기능을 없애고,
API 를 전송하는 용도로 더 잘 사용되고 있어요!
저희가 장고를 다룰때 신경써야할 핵심적인 부분들은!
- 데이터 베이스를 다루는 부분
- 기능을 동작하게 하는 부분 ( 템플릿 대신 API ! )
- 요청으로 온 URL 값에 대한 제어를 하는 부분
이에요!
폴더 구조가
mango_project ├── manage.py └── mango_project ├── __init__.py ├── asgi.py ├── settings.py ├── urls.py └── wsgi.py
이런 느낌일텐데요!
여기에서
mango_project ├── manage.py <- 장고 프로젝트의 핵심 프로그램! └── mango_project ├── __init__.py ├── asgi.py ├── settings.py <- 장고 프로젝트의 설정 프로그램! ├── urls.py <- URL 값에 대한 제어를 하는 프로그램! └── wsgi.py
를 제외한 파일들은 사실상 건드리지 않아요!
핵심기능 중 URL 값에 대한 제어를 하는 프로그램은 나왔는데,
왜 데이터베이스를 다루는 프로그램과 기능을 동작하도록 하는 프로그램은 없을까요?
( 칼을 뽑았으니, 무라도 베야지! )
고생하셨습니다.