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 μλ²μ ν¨κ» μ¬μ©.
β’
μ€μκ° κΈ°λ₯μ΄ νμν μ±μμ μ£Όλ‘ νμ©.




