본문 바로가기
Django

Django의 첫글음을 내딛다 (Part 0)

by AlbertIm 2024. 8. 8.

시작

Python/Django 부트캠프를 다니면서 자연스럽게 Django에 입문하게 되었습니다. 부트캠프에서 배운 내용을 바탕으로 Django를 직접 사용해보고 그 과정을 정리해보았습니다.

본문

Django 란?

Django는 웹 서버에서 실행되는 Python 기반 무료 오픈 소스 웹 프레임워크입니다. Model-Template-View(MTV) 아키텍처 패턴을 따릅니다.

 

  • Model: 데이터베이스데이터를 처리하고 로직 및 구조를 정의합니다.
  • View: 애플리케이션 로직 및 기능을 처리하며 웹 요청응답을 담당합니다.
  • Template: 클라이언트에게 보여주는 레이아웃구조를 정의하며 동적인 데이터를 받아 HTML 파일을 생성합니다.

 

설계 철학

  • 느슨한 결합: Model, View, Template은 서로 독립적이어야 하며 서로 영향을 주지 않아야 합니다.
  • 적은 코드: 최소한의 코드로 개발을 추구합니다.
  • 신속한 개발: 빠른 개발을 지향합니다.
  • 반복하지 말것(DRY): 코드의 중복을 최소화하고 재사용성을 높이는 것을 추구합니다.
  • 명시적인 것이 묵시적인 것보다 낫다: "마법"을 사용하지 않고 명확하고 직관적인 방식으로 구현해야 합니다. 개발자가 이해하기 어렵게 구현해서는 안 됩니다.
  • 일관성: 모든 수준에서 일관성을 유지해야 합니다. 코드 스타일, 설계 패턴, 문서화, 사용자 인터페이스, 규칙과 관례 등 다양한 측면에서 일관을 유지해야 합니다.

왜 Django인가?

 

Django는 마감에 쫓기는 완벽주의자들을 위한 웹 프레임워크입니다.

 

  • 말도 안 되게 빠르다: Django를 사용하면 웹 애플리케이션을 개념 단계에서 출시까지 몇 시간 안에 완료할 수 있습니다.
  • 완벽하게 갖춰져 있다: Django는 웹 개발 작업을 처리하는데 사용할 수 있는 많은 추가 가능이 포함되어 있습니다.
  • 안심할 만큼 안전한다: Django는 보안을 중요하게 생각하며 일반적인 보안 실수를 피할 수 있도록 도와줍니다.
  • 뛰어난 확정성: Django는 빠르고 유연하게 확장할 수 있습니다.
  • 놀라울 정도로 다재다능하다: Django는 사용하면 다양한 유현의 웹 애플리케이션을 구축할 수 있습니다.

Django 시작(macOS)

전제

Django 설치되여 있어야 합니다.

프로젝트 생성

터미널에서 코드를 저장할 디렉토리로 이동 한 후 다음 명령을 수행합니다.

 

django-admin startproject mysite

 

이 명령어은 현재 디렉토리에서 mysite 라는 디렉토리를 생성합니다. 이 디렉토리 안에는 기본 Django 프로젝트 구조와 필요한 설정 파일들이 자동으로 생성됩니다.

  • __init__py: 이 파일은 디렉토리를 Python 패키지로 인식하게 하며 패키지 초기화 코드와 모듈/서브패키지의 관리를 담당합니다.
  • asgi.py: Django 프로젝트를 ASGI 웹 서버로 배포할 때 사용합니다. 현재 프로젝트를 서비스하기 위한 ASGI-호환 웹 서버의 진입점입니다.
  • settings.py: Django 프로젝트의 환경 및 구성을 저장합니다.
  • urls.py: Django 프로젝트의 URL 매핑을 선언하고 관리합니다.
  • wsgi.py: Django 프로젝트를 WSGI 웹서버로 배포할 때 사용합니다. 현재 프로젝트를 서비스하기 위한 WSGI 호환 웹 서버의 진입점입니다.
  • manage.py: Django 프로젝트와 다양한 방법으로 상호작용하는 커맨드라인 유틸리티 입니다. DJANGO_SETTINGS_MODULE와 같은 환경 변수를 설정할 수 있습니다.

개발 서버

mysite 디렉토리로 이동합니다.

 

cd mysite

 

서버를 실행합니다.

 

python manage.py runserver

 

이제 서버가 실행 중이니 웹 브라우저의 http://127.0.0.1:8000/ 를 통해 접속할 수 있습니다.

이렇게 해서 Django 개발 서버를 시작했습니다. 개발 서버는 순수 Python으로 작성된 경량 웹 서버로 개발 중에만 사용됩니다. 배포 시에는 Apache와 같은 운영 서버를 구성해야 합니다.

마무리

이번 포스트에서는 Django의 기본 개념과 초기 프로젝트 설정,그리고 개발 서버 실행까지의 과정을 정리했습니다. Django의 첫발을 내딛었으며 이제는 샘플 프로젝트를 구현하면서 더 많은 것을 배우자고 합니다.

참고자료

https://en.wikipedia.org/wiki/Django_(web_framework)
https://docs.djangoproject.com/ko/4.2/misc/design-philosophies/
https://www.djangoproject.com/start/overview/
https://docs.djangoproject.com/en/5.0/intro/tutorial01/
https://kangbk0120.github.io/articles/2022-02/cgi-wcgi-asgi

댓글