백엔드

백엔드는 프론트엔드와 구분지어지는 개념이다. 프로그램은 사용자에게 보여지는 부분이 있고, 사용자에게 보이지 않지만 데이터를 처리하는 부분이 있다. 사용자에게 보여지는 부분이 프론트엔드, 보여지지 않는 부분이 백엔드이다.
사용자가 검색을 하는 경우를 보면 사용자가 프론트엔드를 통해 검색어를 치고 검색 버튼을 누른다. 프론트엔드는 백엔드에게 검색어를 전달하며 검색 결과를 요청한다. 백엔드는 데이터베이스에서 검색 결과를 추려내고, 프론트엔드에게 전달한다. 프론트엔드는 전달받은 내용을 사용자가 편하게 볼 수 있는 결과로 만들어 보여준다.

Django

Django는 파이썬 기반의 프레임워크로, 프론트엔드와 백엔드 모두 개발이 가능한 풀스택 프레임워크이다. 그 중 백엔드 기능에 더 치중해있다.
Django는 MTV라는 개발 패턴을 사용한다.

MTV

MTV 개발 패턴은 Model, Template, View 의 약자이다. 각 내용을 살펴보자.

  • Model
    • 데이터에 관련된 부분
    • Model은 Python의 Class 형식으로 정의됨
    • Model = 데이터베이스 테이블
  • Template
    • 사용자에게 보여지는 부분
  • View
    • Model과 Template 사이에 존재하는 부분
    • Model의 데이터를 Template에 전달
    • Template에서 발생하는 이벤트를 처리