반응형

Django의 구조와 작동 방식을 비전공자도 이해할 수 있게 간단하고 쉽게 설명해볼게요. Django는 웹 프레임워크라고 불리는 도구입니다. 웹사이트를 만들 때, 개발자들이 공통적으로 사용하는 기능들을 모아놓은 틀이라고 생각하면 됩니다. Django는 Python이라는 프로그래밍 언어로 만들어졌고, 웹사이트 개발을 쉽게 하고 빠르게 도와줍니다.

Django의 기본 개념

  1. 웹 프레임워크란? 웹사이트를 만들 때는 여러 가지 작업이 필요합니다. 예를 들어, 페이지를 보여주고, 데이터를 저장하고, 사용자가 로그인할 수 있게 만드는 것들이죠. Django는 이런 것들을 미리 준비된 도구로 제공해서, 개발자가 일일이 모든 것을 처음부터 만들 필요 없이 빠르게 웹사이트를 개발할 수 있게 해줍니다.
  2. MVC 패턴 (모델-뷰-컨트롤러) Django는 'MVC'라는 구조를 따릅니다. 이 구조는 웹사이트의 각 부분을 나누어 관리할 수 있게 해줍니다.
    • 모델(Model): 데이터가 어떻게 저장되고 관리되는지를 담당합니다. 예를 들어, 사용자의 이름이나 이메일 같은 정보가 어떻게 저장될지 정의합니다.
    • 뷰(View): 사용자에게 보여주는 화면을 담당합니다. 웹사이트의 페이지가 어떻게 생겼는지, 어떤 정보가 표시될지를 결정합니다.
    • 컨트롤러(Controller): 사용자가 페이지에서 어떤 행동을 했을 때(예: 버튼을 누르거나 폼을 제출할 때), 그 요청을 받아서 처리하는 부분입니다. Django에서는 이 역할을 URL과 View 함수가 함께 담당합니다.
    Django는 이 패턴을 MTV (Model, Template, View)로 변형해서 사용하지만, 기본 개념은 같습니다.

출처:https://huimang2.github.io/design-pattern/mvc-pattern

 

Django의 작동 방식

웹사이트에서 일이 어떻게 처리되는지 한 번 생각해 볼게요. 예를 들어, 사용자가 회원가입을 하고 싶다고 할 때 Django가 어떻게 처리하는지입니다.

  1. 사용자가 웹사이트에 회원가입 페이지 요청: 사용자가 회원가입 버튼을 클릭합니다.
  2. URL 설정: Django는 사용자가 요청한 URL을 보고, 그 요청을 처리할 적절한 코드를 찾습니다.
  3. 뷰(View) 호출: 그 URL과 연결된 View 함수가 호출됩니다. 이 함수는 회원가입 페이지를 보여주기 위해 필요한 정보를 준비합니다.
  4. 모델(Model): 사용자가 입력한 데이터를 데이터베이스에 저장합니다. 이름, 이메일, 비밀번호 등이 어디에 저장되고 어떻게 관리되는지 Model에서 정의됩니다.
  5. 템플릿(Template): 사용자가 보는 실제 화면입니다. HTML로 만들어진 웹 페이지이며, 이 템플릿을 통해 사용자에게 회원가입 양식을 보여줍니다.
  6. 결과 보여주기: 사용자가 회원가입 폼을 제출하면, Django는 데이터를 처리하고 성공 여부에 따라 다른 화면을 보여줍니다.

비유로 설명

Django를 마치 자동차 조립 공장에 비유할 수 있어요:

  • **모델(Model)**은 자동차의 부품(데이터)을 만드는 설계도입니다. 어떤 부품을 만들지, 어떻게 조립할지 정의합니다.
  • **뷰(View)**는 완성된 자동차를 전시하는 쇼룸입니다. 사용자가 볼 수 있는 화면을 담당합니다.
  • **컨트롤러(Controller)**는 조립 라인을 관리하는 직원입니다. 사용자의 요청에 따라 어떤 부품을 만들고 어떤 제품을 사용자에게 보여줄지 결정합니다.

이렇게 Django는 각각의 역할을 나눠서 일을 처리하고, 개발자들은 복잡한 과정을 쉽게 관리할 수 있게 도와줍니다.

반응형

+ Recent posts