[Django REST framework] (1) νλ‘μ νΈ μμ±κ³Ό μ€μ
κ°μνκ²½ μ€μ , μ§μ
Django
λ Python
κΈ°λ°μ μΉ νλ μμν¬μ΄κ³ μ¬νμ Python
νλ‘μ νΈμ λ§μ°¬κ°μ§λ‘ κ°μνκ²½μ μ΄μ©ν΄ Python
λ²μ , ν¨ν€μ§ λ²μ λ±μ κ΄λ¦¬ν μ μλ€. venv
λͺ¨λμ μ΄μ©ν΄ venv
λΌλ μ΄λ¦μ κ°μνκ²½μ μμ±νμ. κ°μνκ²½ λλ ν°λ¦¬μλ Python
μΈν°ν리ν°, μ€μΉν ν¨ν€μ§ λ±μ΄ μ μ₯λλ€.
python3 -m venv venv
source venv/bin/activate
μ΄λ μμ±νλ κ°μνκ²½ λλ ν°λ¦¬μ μ΄λ¦μ΄ λ°λμ venv
μΌ νμλ μμΌλ©°, νλ‘μ νΈ λλ ν°λ¦¬ λ΄μ μμΉν νμλ μλ€. λ€μκ³Ό κ°μ λ°©μμΌλ‘ ν λλ ν°λ¦¬ λ°μ κ°μνκ²½ λλ ν°λ¦¬λ₯Ό λκ³ κ΄λ¦¬νλ κ²λ κ°λ₯νλ©° μ΄λ μ΄λκΉμ§λ μ΄μ©νλ κ°λ°μμ κΈ°νΈμ΄λ€.
python3 -m venv ~/.venv/djangoproject
source ~/.venv/djangoproject/bin/activate
ν¨ν€μ§ μ€μΉ
κ°μνκ²½μ μ§μ
νμΌλ©΄ μ΄μ Django
, Django REST framework
λ₯Ό μ€μΉνλ€.
pip3 install django djangorestframework
νμ
μ μν΄ μ€μΉν ν¨ν€μ§μ μ’
λ₯μ λ²μ μ 보λ₯Ό μλμ κ°μ λͺ
λ Ήμ΄λ‘ requiremnts.txt
μ μ μ₯νμ.
pip3 freeze > requirements.txt
λ§μ½ μ΄λ―Έ λ§λ€μ΄μ§ νλ‘μ νΈλ₯Ό νλ°λ μ
μ₯μ΄λΌλ©΄ λ€μμ λͺ
λ Ήμ΄λ‘ requiremnts.txt
μ μ μ₯λ ν¨ν€μ§λ₯Ό μμ μ λ‘컬μ μ€μΉν μ μλ€.
pip3 install -r requirements.txt
Django νλ‘μ νΈ μμ±
ν¨ν€μ§ μ€μΉκ° μλ£λμμΌλ©΄ λ€μμ λͺ
λ Ήμ΄λ‘ Django
νλ‘μ νΈλ₯Ό μμ±νμ. ${PROJECT_NAME}
μλ μνλ νλ‘μ νΈ μ΄λ¦μ΄ μμΉνλ©΄ λλ€.
django-admin startproject ${PROJECT_NAME}
μ΄λ¬ν λͺ λ Ήμ λ€μκ³Ό κ°μ λλ ν°λ¦¬ κ΅¬μ‘°λ‘ νλ‘μ νΈλ₯Ό μμ±νλ€.
.
|____${PROJECT_NAME}
| |____asgi.py
| |______init__.py
| |____settings.py
| |____urls.py
| |____wsgi.py
|____manage.py
manage.py
Django νλ‘μ νΈ κ΄λ¦¬, κ°λ° λꡬλ₯Ό μ 곡νλ€.settings.py
νλ‘μ νΈμ μ€μ μ κ΄λ¦¬νλ€. Django νλ‘μ νΈλ₯Ό μ€ννλ©΄ μ΄ νμΌμμ μ€μΉλ μ±, μ΄μ©ν λ―Έλ€μ¨μ΄, μ°κ²°ν λ°μ΄ν°λ² μ΄μ€ λ±μ μ 보λ₯Ό ꡬμ±νλ€.wsgi.py
(orasgi.py
)
WSGI application(λλ ASGI application)μ ꡬμ±νλ€.urls.py
URL μ€ν€λ§λ₯Ό μ μνλ€.
INSTALLED_APPS
Django REST framework
μ΄ λμνκΈ° μν΄μλ settings.py
μ INSTALLED_APPS
μ 'rest_framework'
λ₯Ό μΆκ°ν΄μΌ νλ€.
INSTALLED_APPS = [
...
'rest_framework',
...
]
κ°λ°μλ² μ€ν
λ€μμ λͺ λ Ήμ΄λ₯Ό μ΄μ©ν΄ ν μ€νΈμ© κ°λ° μλ²λ₯Ό μ€νν μ μλ€.
python3 manage.py runserver