Search
Duplicate

Core Files (핡심 파일)

Core Files (핡심 파일)

각 νŒŒμΌμ€ Django ν”„λ‘œμ νŠΈμ˜ κΈ°λ³Έ ꡬ쑰λ₯Ό ν˜•μ„±ν•˜λ©°, μ•„λž˜μ—μ„œ μžμ„Ένžˆ μ„€λͺ…ν•©λ‹ˆλ‹€.

핡심 파일 λͺ©λ‘

파일
μ„€λͺ…
manage.py
ν”„λ‘œμ νŠΈ 관리 및 λͺ…λ Ήμ–΄ μ‹€ν–‰
settings.py
ν”„λ‘œμ νŠΈ μ„€μ •
urls.py
URL λΌμš°νŒ…
wsgi.py
WSGI μ›Ή μ„œλ²„ 연동
asgi.py
ASGI μ„œλ²„ 연동
graph TD;
    M["manage.py<br/>(ν”„λ‘œμ νŠΈ 관리)"] --> S["settings.py<br/>(μ „μ—­ μ„€μ •)"];
    M --> U["urls.py<br/>(URL λΌμš°νŒ…)"];
    M --> W["wsgi.py<br/>(동기 μ›Ήμ„œλ²„ 연동)"];
    M --> A["asgi.py<br/>(비동기 μ„œλ²„ 연동)"];
    
    S --> |μ„€μ • 제곡| W;
    S --> |μ„€μ • 제곡| A;
    S --> |μ•±/미듀웨어 μ„€μ •| U;
    
    U --> |μš”μ²­ 처리| W;
    U --> |μš”μ²­ 처리| A;
    
%% 각 μ»΄ν¬λ„ŒνŠΈμ˜ μ£Όμš” μ—­ν• 
%% manage.py: ν”„λ‘œμ νŠΈ λͺ…λ Ήμ–΄ μ‹€ν–‰ 및 관리
%% settings.py: ν”„λ‘œμ νŠΈ ν™˜κ²½ μ„€μ • 관리
%% urls.py: URL νŒ¨ν„΄κ³Ό λ·° λ§€ν•‘
%% wsgi.py: 전톡적인 μ›Ή μ„œλ²„ 연동
%% asgi.py: 비동기/WebSocket 지원
Mermaid
볡사

manage.py – Django ν”„λ‘œμ νŠΈ μ‹€ν–‰ λ„μš°λ―Έ

β€’
Django ν”„λ‘œμ νŠΈμ˜ λͺ…λ Ήμ–΄ μΈν„°νŽ˜μ΄μŠ€ 역할을 ν•©λ‹ˆλ‹€.
β€’
예: runserver, migrate, startapp λ“± 관리 λͺ…령을 μ‹€ν–‰ν•  λ•Œ μ‚¬μš©.
β€’
λ‚΄λΆ€μ μœΌλ‘œλŠ” settings.pyλ₯Ό λΆˆλŸ¬μ™€ Django ν™˜κ²½μ„ μ΄ˆκΈ°ν™”ν•¨.

settings.py – ν”„λ‘œμ νŠΈ μ „μ—­ μ„€μ • 파일

β€’
ν”„λ‘œμ νŠΈμ˜ λͺ¨λ“  ν™˜κ²½ 섀정을 μ •μ˜ν•˜λŠ” κ³³.
β€’
μ£Όμš” μ„€μ • ν•­λͺ©:
β—¦
λ°μ΄ν„°λ² μ΄μŠ€ 정보 (DATABASES)
β—¦
μ•± 등둝 (INSTALLED_APPS)
β—¦
미듀웨어 (MIDDLEWARE)
β—¦
정적/λ―Έλ””μ–΄ 파일 경둜
β—¦
λ³΄μ•ˆ μ„€μ • (SECRET_KEY, DEBUG, ALLOWED_HOSTS)
β€’
개발/운영 ν™˜κ²½μ— 따라 뢄리 관리 κ°€λŠ₯ (예: settings_dev.py, settings_prod.py)

λ―Έλ“€μ›¨μ–΄λž€?

μš”μ²­κ³Ό 응닡을 μ²˜λ¦¬ν•˜λŠ” κ³Όμ •μ—μ„œ μž‘λ™ν•˜λŠ” ν”„λ ˆμž„μ›Œν¬ μ»΄ν¬λ„ŒνŠΈμž…λ‹ˆλ‹€. λ―Έλ“€μ›¨μ–΄λŠ” λ‹€μŒκ³Ό 같은 κΈ°λŠ₯을 μˆ˜ν–‰ν•©λ‹ˆλ‹€:
β€’
λ³΄μ•ˆ κ΄€λ ¨ 처리 (인증, CSRF 보호 λ“±)
β€’
μ„Έμ…˜ 관리
β€’
μš”μ²­/응닡 데이터 처리
β€’
캐싱
λ―Έλ“€μ›¨μ–΄λŠ” μˆœμ„œλŒ€λ‘œ μ‹€ν–‰λ˜λ©°, settings.py의 MIDDLEWARE λ¦¬μŠ€νŠΈμ— μ •μ˜λœ μˆœμ„œλ₯Ό λ”°λ¦…λ‹ˆλ‹€. μš”μ²­μ΄ λ“€μ–΄μ˜¬ λ•ŒλŠ” μœ„μ—μ„œ μ•„λž˜λ‘œ, 응닡이 λ‚˜κ°ˆ λ•ŒλŠ” μ•„λž˜μ—μ„œ μœ„λ‘œ μ‹€ν–‰λ©λ‹ˆλ‹€.

urls.py – URL λΌμš°νŒ… μ„€μ • 파일

β€’
ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”μ²­ URL을 μ–΄λ–€ view둜 보낼지 μ—°κ²°ν•˜λŠ” μ—­ν• .
β€’
path(), re_path() λ˜λŠ” include() 등을 μ‚¬μš©ν•΄ URL νŒ¨ν„΄ μ •μ˜.
β€’
project/urls.pyλŠ” 전체 ν”„λ‘œμ νŠΈ λΌμš°νŒ…μ˜ μ‹œμž‘μ .
β€’
각 앱에도 urls.pyλ₯Ό λ”°λ‘œ 두고, include()둜 μ—°κ²° κ°€λŠ₯.

wsgi.py – μ›Ή μ„œλ²„ κ²Œμ΄νŠΈμ›¨μ΄ μΈν„°νŽ˜μ΄μŠ€

β€’
WSGI (Web Server Gateway Interface) ν‘œμ€€μ„ κ΅¬ν˜„ν•œ 파일.
β€’
Apache, Nginx λ“±μ˜ μ›Ή μ„œλ²„μ™€ Django 앱을 μ—°κ²°ν•˜λŠ” μ—­ν• .
β€’
운영 ν™˜κ²½μ—μ„œ Django 앱을 배포할 λ•Œ 주둜 μ‚¬μš©.

asgi.py – 비동기 μ„œλ²„ κ²Œμ΄νŠΈμ›¨μ΄ μΈν„°νŽ˜μ΄μŠ€

β€’
ASGI (Asynchronous Server Gateway Interface)λ₯Ό κ΅¬ν˜„ν•œ 파일.
β€’
WebSocket λ“± 비동기 ν”„λ‘œν† μ½œμ„ μ§€μ›ν•˜λŠ” ν˜„λŒ€μ μΈ μΈν„°νŽ˜μ΄μŠ€.
β€’
Daphne, Uvicorn λ“±μ˜ ASGI μ„œλ²„μ™€ ν•¨κ»˜ μ‚¬μš©.
β€’
μ‹€μ‹œκ°„ κΈ°λŠ₯이 ν•„μš”ν•œ μ•±μ—μ„œ 주둜 ν™œμš©.