본문 바로가기

django

Django 기초

django 란

서버 역할을 할 수 있는 웹 프레임워크(웹 개발을 하기 위한 도구들을 미리 갖춘 것)

python django를 통해서 요청에 대한 처리를 할 수 있게 된다.

django 의 장점

  1. 많은 것들이 준비가 되어 있어서 빠르다.
  2. 장고의 보안은 매우 안전하다.
  3. 스케일을 키우기에 좋다.
  4. 다양한 것들을 만들 수 있다.

웹을 구성하는 요소

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 폴더에는 프로젝트의 세팅 및 기본 구조가 담긴다고 생각하면 된다.

django 서버 실행.

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