django 란
서버 역할을 할 수 있는 웹 프레임워크(웹 개발을 하기 위한 도구들을 미리 갖춘 것)
python django를 통해서 요청에 대한 처리를 할 수 있게 된다.
django 의 장점
- 많은 것들이 준비가 되어 있어서 빠르다.
- 장고의 보안은 매우 안전하다.
- 스케일을 키우기에 좋다.
- 다양한 것들을 만들 수 있다.
웹을 구성하는 요소
UI 화면에 보여지는 인터페이스
Data 화면의 내용을 구성하는 데이터
Logic 내용을 구성하는 방식을 처리하는 로직
장고에서 표현하는 방식
django
UI ——————> templates
Data ——-———> models.py
Logic —-———-—> views.py
장고의 전체적인 흐름
장고의 전체적인 흐름은 요청을 받고 응답을 주는 것으로 흘러간다.
1) 요청을 받은 url을 urls.py가 찾는다.
2) urls.py에 연결된 views.py의 함수를 실행한다.
2.5) templates 를 응답에 담거나, models.py의 데이터를 응답에 담는다.
3) views.py에서 응답을 준다.
templates 의 역할
templates에 html을 만들어두고, response로 줄 수 있다.
장고만의 템플릿 문법을 사용한다.
model.py의 역할
데이터베이스에 저장되는 데이터를 표현한다.
장고는 SQL을 사용하지 않아도, 파이썬으로 데이터베이스를 관리할 수 있는 ORM(Object Relational Mapping)을 제공한다.
views.py의 역할
비즈니스 로직을 처리하고 모델을 조회 및 Response를 내려주는 부분
장고의 핵심이다.
urls.py의 역할
정의된 url에 해당하는 views.py를 호출해준다.
장고의 입구 역할을 한다고 생각하면 된다.
django를 시작하기 전 가상 환경 세팅
- mkidr first_django
- cd first_django
- virtualenv venv
- pip install django
가상 환경에 장고 설치
- django-admin startproject config .
config라는 폴더가 생긴다. config 폴더에는 프로젝트의 세팅 및 기본 구조가 담긴다고 생각하면 된다.
- python manage.py rubserver
django 서버 실행.
- python manage.py startapp firstapp
app은 기능별로 여러 개를 두는 것이 일반적이다.
장고는 하나의 프로젝트(서비스)와 여러 개의 앱(큰 기능)으로 구성된다.
- settings.py에 app을 생성한 것을 알려주어야 한다.
'django' 카테고리의 다른 글
Django CBV 기반 CRUD 만들기 (0) | 2022.01.09 |
---|---|
Django 프로젝트 구조 (0) | 2021.12.07 |
Django Deploy (0) | 2021.12.07 |
Django - docker (0) | 2021.12.07 |
Django AWS 연동 (0) | 2021.12.07 |