Django Install
pipenv install Django == '๋ฒ์ '
ํด๋น ํ๋ก์ ํธ๋ Django 2.2.5 ๋ฒ์ ์ ์ฌ์ฉํ์๋ค.
Django Activate
1. django-admin startproject config
2. ์ต์์ config ๋๋ ํฐ๋ฆฌ ์์ ๋ด๋ถ config ๋๋ ํฐ๋ฆฌ์ manage.py์ ๋ฐ๊นฅ์ผ๋ก ๋นผ๋ธ๋ค.
๋ด๋ถ config ๋๋ ํฐ๋ฆฌ๋ฅผ ์ต์์ config ๋๋ ํฐ๋ฆฌ ์ธ๋ถ๋ก ๋นผ๋ด๋ ค๋ฉด ์ต์์ config ๋๋ ํ ๋ฆฌ๋ช ์ ์์ ํด์ผ ํ๋ค.
config ๋๋ ํฐ๋ฆฌ์ manage.py๋ฅผ ๋นผ๋์ผ๋ฉด ์ต์์ config ๋๋ ํฐ๋ฆฌ๋ฅผ ์ญ์ ํ๋ค.
Django Application ์์ฑ
django-admin startapp ์ ํ๋ฆฌ์ผ์ด์ ๋ช s
์ ํ๋ฆฌ์ผ์ด์ ๋ช ์ ๋ฐ๋์ ๋ณต์ํ ์ด์ด์ผ ํ๋ค!!
Airbnb ํด๋ก ํ๋ก์ ํธ์ด๋ฏ๋ก rooms, users, reviews, reservations, lists, conversations ์ ํ๋ฆฌ์ผ์ด์ ๋ค์ ๊ฐ๊ฐ ์์ฑํ๋ค.
๊ฐ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์๋ ์์ ๊ฐ์ python file๋ค์ด ์์ฑ๋์ด ์๋๋ฐ ์ด๋ Django์์ ์์ฒด์ ์ผ๋ก ์ ๊ณตํด์ฃผ๋ ํ์ผ๋ค์ด๋ค. ๊ฐ ํ์ผ๋ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ํ ๊ธฐ๋ฅ๋ค์ ๋ด๋นํ๋ ์ญํ ์ ํ๋ค.
- admin.py : admin ํจ๋์ ๋ด๋น
- models.py : ๋ฐ์ดํฐ์ ๋ชจ๋ธ์ ๋ด๋น
- app.py : config ๋๋ ํฐ๋ฆฌ์ settings.py์์์ INSTALLED_APPS ๋ฑ๋ก ๋ด๋น
- views.py : View ํํธ ๋ด๋น
settings.py ์ค์
1. TIME_ZONE = "Asia/Seoul"
2. USE_TZ = False
3. INSTALLED_APPS = DJANGO_APPS + PROJECT_APPS + THIRD_PARTY_APPS
USE_TZ = True / False์ ๋ํ ์ค๋ช ์ ๊ณต์ ๋ฌธ์์์ ์ฐพ์๋ณผ ์ ์๋ค. ๊ณต์ ๋ฌธ์์ ๋ฐ๋ฅด๋ฉด USE_TZ = False๋ฉด timezone์ ๋ชจ๋ datetime๋ค์ ์ ์ฅํ ๋ ์ฌ์ฉํ๊ณ USE_TZ = True๋ฉด ํ ํ๋ฆฟ์ datetime๋ค์ ํ์ํ๊ณ form์ ์ ๋ ฅํ ๋ ์ง๋ฅผ ํด์ํ๋ ๋ฐ์ ์ฌ์ฉ๋๋ค๊ณ ํ๋ค. ์ฝ๊ฒ ๋งํด์ True์ด๋ฉด template๊ณผ form์์๋ง ์ฌ์ฉ์๊ฐ ์ง์ ํ TIME_ZONE (๋๋จธ์ง๋ Default Timezone => UTC ์ ์ฉ) ์ด ์ ์ฉ๋๊ณ False์ด๋ฉด ๋ชจ๋ ๊ณณ์์ ์ง์ ๋ TIME_ZONE์ด ์ ์ฉ๋๋ค๋ ๊ฒ์ด๋ค.
INSTALLED_APPS์๋ ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ค์ ๋ฑ๋กํด์ค์ผ ํ๋ค. ์ด๋, ํ ๋ฒ์ ๋ค ์ง์ ํด์ฃผ์ง ์๊ณ ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ฒ ๋ถ๋ฅํด์ ๋ฑ๋กํด์คฌ๋ค. DJANGO_APPS์๋ Django ์์ฒด์ ์ผ๋ก ์ ๊ณตํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ค, PROJECT_APPS์๋ ๋ด๊ฐ ์ง์ ๋ง๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ค, THIRD_PARTY_APPS์๋ ์ธ๋ถ ๋ชจ๋๋ค์ ๋ฑ๋กํ ์ ์๊ฒ ํ์๋ค. ์ฐธ๊ณ ์ ์ผ๋ก PROJECT_APPS์๋ ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ apps.py์ ์กด์ฌํ๋ Config ํด๋์ค๋ฅผ ๋ช ์ํด์ค์ผ ๋ฑ๋ก์ด ๊ฐ๋ฅํ๋ค.
Django Framework์ ํน์ง
1. ์์ฒด์ ์ผ๋ก ๊ฐ๋ฐ์์ฉ DB๋ฅผ ๊ฐ์ง๋ค. (sqlite3)
2. ์์ฒด์ ์ผ๋ก Admin Panel์ ๊ฐ์ง๋ค.
3. Python ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๋ด๋ถ์ ์ผ๋ก SQL๋ฌธ์ผ๋ก ๋ณํํด์ DB์ ์ ๊ทผํ๋ค.
4. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ ํ๋ ์์ํฌ์ด๋ฏ๋ก Default๋ก ์์ฑ๋์ด์๋ ํด๋, ํ์ผ, ๋ณ์๋ช ์ ์ญ์ , ๋ณ๊ฒฝํ๋ฉด ์ ๋๋ค.
python manage.py createsuperuser
์์ ๋ช ๋ น์ด๋ก ๊ด๋ฆฌ์ ๊ณ์ ์ ์์ฑํ ์ ์๊ณ ํด๋น ๊ณ์ ์ผ๋ก Admin Panel์ ์ ๊ทผํ ์ ์๋ค.
โป ํ๋ ์์ํฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฐจ์ด์ โป
ํ๋ ์์ํฌ: ํด๋น ํ๋ ์์ํฌ์ ๋ฃฐ์ ๋ง์ถ์ด ๋น๋ํด์ผ ํ๋ค. ์ฆ, ์ ์ฒด์ ์ธ ํ๋ฆ์ ํ๋ ์์ํฌ ์ค์ค๋ก๊ฐ ์ฅ๊ณ ์๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ: ๊ฐ๋ฐ์๊ฐ ์์ ๋กญ๊ฒ ๋น๋ํ ์ ์๋ค. ๊ฐ๋ฐ์๊ฐ ์ ์ฒด์ ์ธ ํ๋ฆ์ ๋ง๋ ๋ค.
'์น ํ๋ก๊ทธ๋๋ฐ > Python - Django Framework' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Django - Airbnb ํด๋ก ์ฝ๋ฉ #3] USER ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง (0) | 2021.03.18 |
---|---|
[Django - Airbnb ํด๋ก ์ฝ๋ฉ #1] ๊ฐ๋ฐ ํ๊ฒฝ ์ค์ ํ๊ธฐ (0) | 2021.02.17 |
๋๊ธ