[Django] 장고 App 생성과 등록

2026. 5. 31. 06:55·Django
반응형

 

 

Django Project와 App의 차이

  • Project: 하나의 웹 서비스
  • App: 프로젝트 안에서 특정 기능을 담당하는 모듈
Project (게시판 서비스)
├── user App      (회원 관리)
├── post App      (게시글 관리)
├── comment App   (댓글 관리)
└── chat App      (채팅 기능)

 


 

Django App 생성

  • `python manage.py startapp post`
  • 앱(app): Django 프로젝트 내에서 특정 기능을 담당하는 독립적인 모듈
  • 프로젝트를 어떻게 논리적으로 구성할 건지에 따라서 앱 생성
    • 예: user(회원 관리) 앱, post(게시글 관리) 앱 등

 

Django App 구조

post/                            (앱 디렉토리)
├── __init__.py
├── admin.py            (관리자 기능 설정 파일)
├── apps.py              (앱의 메타데이터와 설정 값을 정의하는 파일)
├── migrations/         (데이터베이스 스키마 변경 내역 디렉토리)
│   └── __init__.py
├── models.py          (데이터베이스 테이블을 정의하는 파일)
├── tests.py
└── views.py         (웹 요청에 대한 응답을 처리하는 파일)

 

Django App 생성 후 작업

App을 생성했다고 바로 사용할 수 있는 것은 아니고 Django가 해당 App을 인식할 수 있도록 등록 필요

 

1️⃣ settings.py에 App 등록

  • settings.py 안의 INSTALLED_APPS에 AppConfig 추가
    • Django가 앱을 인식하고 그 앱에 대한 여러 기능들을 활성화
    • INSTALLED_APPS: Django 프로젝트에서 사용하는 애플리케이션을 관리하는 목록
# settings.py

INSTALLED_APPS = [
    'django.contrib.admin',          # 관리자 사이트
    'django.contrib.auth',           # 인증 시스템
    'django.contrib.contenttypes',   # 콘텐츠 타입 프레임워크
    'django.contrib.sessions',       # 세션 관리
    'django.contrib.messages',       # 메시징 프레임워크
    'django.contrib.staticfiles',    # 정적 파일 관리
    'post.apps.PostConfig',          # Post 앱
]

Django는 `INSTALLED_APPS`에 등록된 App만 관리한다.

등록해야 다음 기능들이 동작한다.

  • Model 인식
  • Migration 생성
  • Admin 등록
  • Template 탐색
  • Static 파일 관리

 

2️⃣ view 작성

Django View

  • 웹 애플리케이션의 비즈니스 로직을 처리하는 부분
  • 클라이언트의 요청을 받아서 적절한 응답을 반환하는 역할
  • (Spring의 Controller 역할)

 

<클라이언트-서버> 모델

  • 작업을 요청하는 클라이언트와 요청을 처리하고 결과를 제공하는 서버의 상호작용
    • 요청: 게시물 조회, 회원가입, 로그인과 같이 서버의 특정 데이터를 요청하는 과정
    • HTTP: 웹상에서 인터넷을 통해 데이터를 주고받는 규칙

  • 사용자가 회원가입 버튼을 클릭하거나 상세 정보를 보기 위해 게시글을 클릭하는 등의 액션을 취했을 때 이런 사용자의 신호를 클라이언트가 감지해서 사용자를 대신해 의도에 맞는 HTTP 요청을 서버로 전송
  • 서버는 요청에 맞는 처리를 한 뒤 HTTP 응답을 통해 요청의 결과를 클라이언트에게 전송
    • 요청에 맞는 처리: 회원가입의 경우 사용자가 보낸 아이디와 비밀번호를 데이터베이스의 저장하여 사용자를 기록하는 과정

 

 

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

반응형
'Django' 카테고리의 다른 글
  • [Django] ORM으로 데이터 생성, 조회, 수정, 삭제(CRUD) 해보기
  • [Django] 장고 Model과 Migration 이해하기
  • [Django] 장고 프로젝트 생성 및 실행 방법
  • [Django] 장고 알아보기
올콩
올콩
콩 심은 데 콩 난다
  • 올콩
    콩스토리
    올콩
  • 전체
    오늘
    어제
    • 분류 전체보기 (226) N
      • SSAFY (10)
      • Algorithm (123)
        • 이론 (6)
        • 백준 (BOJ) (114)
        • 프로그래머스 (2)
        • 코드트리 (1)
      • Trouble Shooting (11)
      • Frontend (7)
      • React (17)
      • Next.js (5)
      • Vue (4)
      • Django (12) N
      • 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
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
올콩
[Django] 장고 App 생성과 등록
상단으로

티스토리툴바