๋ชฉ์ฐจ
๋ค์ด๊ฐ๋ฉฐ
EAGU ๋์๋ฆฌ ํ๋ ๊ทธ ์ฒซ ๋ฒ์งธ๋ก '๋ธ๋ก๊ทธ ๋ง๋ค๊ธฐ'๋ฅผ ํด๋ณด๊ธฐ๋ก ํ์๋ค
ํ๋ ์์ํฌ๋ Django๋ฅผ ์ด์ฉํ๊ธฐ๋ก ํ๋๋ฐ ํ์ฅ๋์ ์ ์ธํ๊ณ ๋๋จธ์ง ๋ฉค๋ฒ๋ค์
๋ชจ๋ ์ฒ์์ด๋ผ์ ๊ธฐ์ด๋ถํฐ ์์ํ์๋ค.
ํ์ฌ ์ฅ๊ณ ์์ ์ฒซ ๋ง๋จ์ ๊ฐ์ง๊ณ 4์ผ์ฐจ!
์ด๋ฒ ํฌ์คํ ๋ถํฐ๋ ๊ณต๋ถํ๋ ์ฅ๊ณ ์ ๊ธฐ์ด์ ์ด์ฌํ ๊นจ์ง๊ณ ๋ถ์์ง๋ฉฐ ์ป์ ๊ฒ๋ค์ ์ ์ด๋ณด๋ ค๊ณ ํ๋ค!
Django๋ ๋ฌด์์ธ๊ฐ
Django(์ฅ๊ณ )๋ ํ์ด์ฌ ๊ธฐ๋ฐ์ ์น ํ๋ ์์ํฌ์ด๋ค.
์ด์ ์ Flask๋ฅผ ํ ๋ฒ ์ฐ๋จนํด๋ณธ ์ ์ด ์๋๋ฐ ๊ทธ๊ฒ๊ณผ ํจ๊ป ์๋์ฐ๋งฅ๊ณผ ๊ฐ์ ๋๋์ ํฌ์ง์ ์ด๋ค.
๋ฐฑ์๋๋ฅผ ๊ตฌํํ๋ Framework์ด๋ฏ๋ก
ํด๋ผ์ด์ธํธ์ request์ ๋ํ ๋ต์ฅ๊ณผ ๊ทธ๊ฒ์ ์ฝํ ์ธ ๋ฅผ ๋ง๋ค ์ ์๋ ์ญํ ์ ํ๋ค.
Django์ MVTํจํด (Model View Template)
์ฅ๊ณ ๋ 3๊ฐ์ง์ ์์๋ก ๋์ํ๋ค.
Model : DB์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ
View : ํ๋ก๊ทธ๋จ ๋ก์ง์ด ๋์ํ์ฌ DB์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ฒ๋ฆฌํ ๊ฒฐ๊ณผ๋ฅผ ํ ํ๋ฆฟ์ ์ ๋ฌํ๋ ์ญํ
Template : ์ฌ์ฉ์๊ฐ ๋ณด๋ UI
์ฅ๊ณ ์ ๋ฉ์ปค๋์ฆ์ ๊ฐ๋จํ ์์ฝํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
1. ํด๋ผ์ด์ธํธ๋ก๋ถํฐ์ request -> urlsolver(urlconf)๋ฅผ ์ด์ฉํ์ฌ URL์ ๋ถ์
- ํจํด ๋ชฉ๋ก์์ ์ผ์ผํ ํ์ธํ์ฌ ์ผ์นํ๋ ๊ฒ ํ์
2. ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ํตํด ๊ด๋ จ๋ view์ ์ ๋ฌ
3. view์์ ๋ก์ง์ ์คํํ๋ค. ๋ง์ผ DB ์ฒ๋ฆฌ๊ฐ ํ์ํ๋ฉด ๋ชจ๋ธ์ ํตํด ์ฒ๋ฆฌํ ํ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ๋ฐ๋๋ค.
4. ๋ก์ง ์ฒ๋ฆฌ ํ template์ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ์ ์ ์กํ HTML ํ์ผ์ ์์ฑํ๋ค.
5. ๋ง์ง๋ง์ผ๋ก HTML ํ์ผ์ ๋ธ๋ผ์ฐ์ ์ ๋ณด๋ธ๋ค.
Django ๋ผ๋ ๊ตฌ์ถํ๊ธฐ
ํ๋ก๊ทธ๋จ์ ํ์ํ ๋๋ ํ ๋ฆฌ์ app์ ๋ง๋ค์ด๋ณด์
1. ๊ฐ์ํ๊ฒฝ ๊ตฌ์ถ
๊ฐ๋ฐ ํ๊ฒฝ์ ๊น๋ํ๊ฒ ๊ด๋ฆฌํ๊ธฐ ์ํด์ ๋ ๋ฆฝ๋ ํ๊ฒฝ ์ฆ ๊ฐ์ํ๊ฒฝ์์ ์ฅ๊ณ ๋ฅผ ์ค์นํด์ค๋ค.
์ํ๋ ๋๋ ํ ๋ฆฌ ์์น์์ ์ฝ์์ ํตํด ์ค์นํ๋ค.
python3 -m venv myvenv
๊ฐ์ํ๊ฒฝ ๋๋ ํ ๋ฆฌ ์์ฑ ํ, ์คํํ๋ค.
source myvenv/bin/activate
์ดํ pip๋ฅผ ์ ๋ฐ์ดํธ ํ ํ, ์ฅ๊ณ ๋ฅผ ์ค์นํ๋ค.
python -m pip install --upgrade pip
pip install django
์ค์น ํ๋ค๋ฉด ์ฅ๊ณ ์ ๋ผ๋๋ฅผ ๊ตฌ์ถํด์ฃผ๋ ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ๋ค.
django-admin startproject mysite(๋๋ ํ ๋ฆฌ๋ช
) .
์ .์ "ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์ฅ๊ณ ์ค์น"๋ฅผ ์คํฌ๋ฆฝํธ์ ์๋ ค์ฃผ๋ ์ญํ (์ถ์ฝํํ)
๋ค์๊ณผ ๊ฐ์ ํธ๋ฆฌ๊ฐ ์์ฑ์ด ๋ ๊ฒ์ด๋ค!
django (ํ๋ก์ ํธ ์์น)
โโโโmanage.py
โโโโmysite
settings.py
urls.py
wsgi.py
__init__.py
manage.py : ์คํฌ๋ฆฝํธ, ์ฌ์ดํธ ๊ด๋ฆฌ ๋์
setting.py : ์น์ฌ์ดํธ ์ค์
urls.py : urlsolver์ ํจํด ๋ชจ์
wsgi.py : wsg ํ๋กํ ์ฝ
2. setting.py
setting.py์์ ๋ช ๊ฐ์ง ์ค์ ์ ๋ฐ๊พธ์ด ์ค๋ค.
1. ์๊ฐ๋ ์ค์
TIME_ZONE = 'Asia/Seoul'
2. ์ ์ ํ์ผ ๊ฒฝ๋ก ์ถ๊ฐ
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
3. ํธ์คํธ ์ค์
ALLOWED_HOSTS = ['localhost', '127.0.0.1', '[::1]']
ํด๋น ํธ์คํธ๋ ๋ฐฐํฌ ์์ ์์ ํด์ค๋ค.
3. DB์ค์
์ฅ๊ณ ์์๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ํด๋ก sqlite3๋ฅผ ์ง์ํ๋ค.
์ด๋ฅผ ์ด์ฉํ์ฌ ๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๊ฒ์ด๋ค.
python manage.py migrate
'๐ | WEB DEV > Django' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Django_์ฅ๊ณ ๋ถ์๊ธฐ (6)_CRUD (0) | 2022.06.30 |
---|---|
Django_์ฅ๊ณ ๋ถ์๊ธฐ (5)_ํ์ด์ง ์ด๋, ์์ธ ํ์ด์ง (0) | 2022.06.30 |
Django_์ฅ๊ณ ๋ถ์๊ธฐ (4)_ํ ํ๋ฆฟ ๋ฌธ๋ฒ (0) | 2022.06.30 |
Django_์ฅ๊ณ ๋ถ์๊ธฐ (3)_QuerySet (0) | 2022.06.30 |
Django_์ฅ๊ณ ๋ถ์๊ธฐ (2)_MVT ์์ฑ (0) | 2022.06.30 |
๋๊ธ