슈퍼개발자, 춤추는망고입니다.
( ~~춤 안춥니다.~~ )
이번 시리즈는...
백엔드로 가는길,
장뽀장뽀! 장고 뽀개기!
>
**입니다.**
( ~~우와아아아앙아ㅏㅏㅏㅏ~!!!!~~ )
장고! 어떻게 생겼니?
장고는 원래,
데이터베이스를 이용해서 웹사이트를 작성하기 위해서 만들어진 프레임워크에요.
그렇기 때문에,
- 데이터 베이스를 다루는 부분
- 웹의 템플릿 ( 보여지는 모양 ) 에 대해 동작하는 부분
- 요청으로 온 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 값에 대한 제어를 하는 프로그램은 나왔는데,
왜 데이터베이스를 다루는 프로그램과 기능을 동작하도록 하는 프로그램은 없을까요?
궁금하면 500원!
여기까지!
이번 글에서는,
장고의 기본적인 형태에 대해서 알아봤습니다!
다음 글에서는,
프로젝트를 시작했으니, 기능을 추가해야지!
( ~~칼을 뽑았으니, 무라도 베야지!~~ )
프로젝트의 기능을 생성하고, 전체적인 구조를 알아볼겁니다!
백엔드 개발자가 다루는
많은 프레임워크 중 하나
장고를 함께 뽀개봅시다!
고생하셨습니다.
감사합니다.( _ _)