[Django] 장고 알아보기

2026. 3. 9. 22:18·Django
반응형

 

Django란?

Django는 Python으로 만들어진 오픈소스 웹 프레임워크(Web Framework)이다.

👉 공식 홈페이지
https://www.djangoproject.com/

 

Django

The web framework for perfectionists with deadlines.

www.djangoproject.com

 

Django를 사용하면 웹 애플리케이션을 빠르고 효율적으로 개발할 수 있다.

 

오픈소스(Open Source)

오픈소스(Open Source)는 소스 코드가 공개된 소프트웨어를 의미한다.

  • 누구나 무료로 사용할 수 있고
  • 코드를 수정하거나 개선할 수 있으며
  • 프로젝트에 기여(Contribution)할 수도 있다.

Django 역시 전 세계 개발자들이 함께 개발하고 유지보수하는 대표적인 오픈소스 프로젝트이다.

 

웹 프레임워크(Web Framework)

웹 프레임워크는 웹 애플리케이션 개발을 더 쉽고 빠르게 할 수 있도록 제공되는 도구이다.

웹 개발을 처음부터 직접 구현하려면 다음과 같은 기능들을 모두 만들어야 한다.

  • URL 처리
  • 데이터베이스 연결
  • 로그인 시스템
  • 보안 처리
  • HTML 렌더링

하지만 웹 프레임워크를 사용하면 이러한 기능들이 이미 구현되어 있기 때문에 개발 속도를 크게 높일 수 있다.

📌 Library와 Framework의 차이에 대해서는 아래 글 참고
https://allkong.tistory.com/71

 


 

Django의 탄생

Django는 미국 신문사에서 시작된 프로젝트이다.

2003년경 미국 신문사 Lawrence Journal-World에서 내부 웹 시스템을 개발하기 위해 만들어졌다.

신문사에서는 다음과 같은 요구사항이 있었다.

  • 기자들이 내부 시스템에 로그인하여 빠르게 뉴스를 업로드 및 수정
  • 뉴스, 이벤트, 블로그 등 다양한 웹 애플리케이션을 짧은 시간 안에 제작

즉, 짧은 시간 안에 여러 웹 서비스를 개발해야 하는 환경이었다.

이러한 문제를 해결하기 위해 Django가 개발되었다.

그리고 2005년 7월 21일 Django가 처음으로 오픈소스로 공개되었다.

현재 Django는 약 20년 가까이 사용된 안정적인 웹 프레임워크이다.

 

Django가 사용되는 곳

  • 해외: Intagram(초기), Pinterest, DoorDash, Disqus 등
  • 국내: Sendbird, 29CM(무신사), ABLY, Toss 인터널 

 

Django 슬로건

Django의 공식 슬로건은 다음과 같다.

The web framework for perfectionists with deadlines
데드라인이 있는 완벽주의자를 위한 웹 프레임워크

  • 개발 속도는 빠르면서
  • 코드 구조는 깔끔하고
  • 완성도 높은 웹 애플리케이션을 만들 수 있다는 철학을 담고 있다.

 


 

Django의 특징

Django는 Batteries Included라는 철학을 가지고 있다. (배터리 포함 철학)

즉, 웹 개발에 필요한 대부분의 기능을 기본적으로 제공한다.

 

다른 프레임워크들은 필요한 기능을 추가 라이브러리로 설치해야 하는 경우가 많지만, Django는 많은 기능이 기본적으로 포함되어 있다.

대표적인 기능들은 다음과 같다.

 

ORM (Object Relational Mapping)

데이터베이스 SQL을 직접 작성하지 않고 Python 코드로 데이터베이스를 다룰 수 있는 기능

e.g. User.objects.all()

 

인증 시스템 (Authentication)

기본적으로 다음 기능이 제공된다.

  • 로그인
  • 로그아웃
  • 회원가입
  • 권한 관리

 

관리자 기능 (Admin)

Django에는 강력한 관리자(Admin) 페이지가 기본 제공된다.

데이터베이스 데이터를 관리자 화면에서 바로 관리할 수 있다.

  • 사용자 관리
  • 게시글 관리
  • 데이터 수정 및 삭제

 

템플릿 엔진 (Template Engine)

HTML에서 Python 데이터를 사용할 수 있도록 하는 기능이다.

e.g. <h1>{{ title }}</h1>

 

폼 처리 및 유효성 검사

웹에서 입력받은 데이터를 자동으로 검증할 수 있다.

  • 이메일 형식 검사
  • 필수 입력값 체크
  • 길이 제한

 

보안 기능

Django는 기본적으로 여러 보안 기능을 제공한다.

  • CSRF 공격 방지
  • XSS 공격 방지
  • SQL Injection 방지

이러한 기능 덕분에 보안이 중요한 서비스에서도 많이 사용된다.

 


 

Django 활용 방법

Django는 크게 두 가지 방식으로 활용할 수 있다.

 

1. 풀스택 프레임워크로 사용

Django는 프론트엔드와 백엔드를 모두 처리하는 풀스택 프레임워크로 사용할 수 있다.

Django의 템플릿 엔진을 이용하여 HTML, CSS, JavaScript 화면을 직접 구성할 수 있다.

 

이 방식은 다음과 같은 경우에 많이 사용된다.

  • 간단한 웹 서비스
  • 관리자 페이지 중심 서비스
  • 빠르게 프로토타입을 만들 때
  • 프론트엔드를 따로 개발하기 어려울 

 

2. 백엔드 프레임워크로 사용

최근에는 프론트엔드와 백엔드를 분리하는 구조가 많이 사용된다.

Frontend → React / Next.js
Backend → Django (API 서버)

이 경우 Django는 REST API 서버로 사용된다.

보통 다음과 같은 라이브러리를 함께 사용한다.

  • Django REST Framework (DRF)

 

 

[참고] 실전! Django 입문 강의

 

 

 

반응형
'Django' 카테고리의 다른 글
  • [Django] 장고 프로젝트 생성 및 실행 방법
  • [Django] 개발 환경 구축 (Python, 가상환경, Docker)
올콩
올콩
콩 심은 데 콩 난다
  • 올콩
    콩스토리
    올콩
  • 전체
    오늘
    어제
    • 분류 전체보기 (216)
      • SSAFY (10)
      • Algorithm (122)
        • 이론 (6)
        • 백준 (BOJ) (114)
        • 프로그래머스 (1)
        • 코드트리 (1)
      • Trouble Shooting (11)
      • Frontend (7)
      • React (17)
      • Next.js (5)
      • Vue (4)
      • Django (3)
      • Node.js (2)
      • HTML (9)
      • DevOps (4)
        • Git (4)
      • Language (13)
        • JavaScript (0)
        • Java (13)
      • Embedded (1)
      • CS (5)
        • Network (1)
        • Blockchain (4)
      • 자격증 (2)
      • 기타 (1)
        • Tistory (1)
  • 블로그 메뉴

    • GitHub
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    html5
    파이썬
    우선순위큐
    bfs
    티스토리챌린지
    중복순열
    알고리즘
    힙
    브루트포스
    수학
    SSAFYcial
    dfs
    SSAFY
    재귀
    Algorithm
    강의
    블록체인
    구현
    싸피
    Heap
    React
    백트래킹
    Java
    DP
    오블완
    그리디
    Next.js
    Error
    백준
    순열
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
올콩
[Django] 장고 알아보기
상단으로

티스토리툴바