์๋ ํ์ธ์! ์น ๊ฐ๋ฐ์ ์ธ๊ณ์ ๋ฐ์ ๋ค์ด์ ์ฌ๋ฌ๋ถ์ ํ์ํฉ๋๋ค. **ํ์ด์ฌ(Python)**์ผ๋ก ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค ์ ์๊ฒ ํด์ฃผ๋ ๊ฐ๋ ฅํ ๋๊ตฌ, ๋ฐ๋ก **Django(์ฅ๊ณ )**๋ฅผ ์ค์นํ๊ณ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์์ฃผ ์ฝ๊ณ ์น์ ํ๊ฒ ์๋ ค๋๋ฆด๊ฒ์.
๐ก Django, ์ ๋ฐฐ์์ผ ํ ๊น์?
Django๋ 'The Web framework for perfectionists with deadlines'๋ผ๋ ์ฌ๋ก๊ฑด์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ฆ, ๋ง๊ฐ ๊ธฐํ์ด ์๋ ์๋ฒฝ์ฃผ์์๋ฅผ ์ํ ์น ํ๋ ์์ํฌ๋ผ๋ ๋ป์ด์ฃ . ํ์ด์ฌ ๊ธฐ๋ฐ์ด๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ฐ๊ธฐ ์ฝ๊ณ , ์ด๋ฏธ ๋ง๋ค์ด์ง ์๋ง์ ๊ธฐ๋ฅ(๋ณด์, ๊ด๋ฆฌ์ ํ์ด์ง ๋ฑ) ๋๋ถ์ ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ์น ์๋น์ค๋ฅผ ๊ฐ๋ฐํ ์ ์๋ค๋ ํฐ ์ฅ์ ์ด ์์ต๋๋ค. ์ธ์คํ๊ทธ๋จ, ์ ํ๋ธ ๋ฑ๋ ํ์ด์ฌ์ผ๋ก ๊ฐ๋ฐ๋์์ ์ ๋๋ก ๊ทธ ์ฐ์์๊ฐ ๋ฌด๊ถ๋ฌด์งํฉ๋๋ค!
1๋จ๊ณ: ๐ ํ์ด์ฌ ์ค์น ๋ฐ ํ๊ฒฝ ํ์ธ
Django๋ ํ์ด์ฌ ์์์ ์๋ํ๋ ๋๊ตฌ์ ๋๋ค. ๋ฐ๋ผ์ ๊ฐ์ฅ ๋จผ์ ์ปดํจํฐ์ ํ์ด์ฌ์ด ์ค์น๋์ด ์์ด์ผ ํฉ๋๋ค.
ํ์ด์ฌ ์ค์น ํ์ธ:
**๋ช ๋ น ํ๋กฌํํธ(Windows)**๋ **ํฐ๋ฏธ๋(Mac/Linux)**์ ์ด์ด์ฃผ์ธ์.
๋ค์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๊ณ ์ํฐ(Enter)๋ฅผ ๋๋ฆ ๋๋ค.
Bashpython --version๋ง์ฝ
Python 3.x.x์ ๊ฐ์ ๋ฒ์ ์ ๋ณด๊ฐ ๋ํ๋๋ฉด ์ฑ๊ณต์ ๋๋ค!๋ฒ์ ์ ๋ณด๊ฐ ๋ณด์ด์ง ์๋๋ค๋ฉด,
์์ ์ต์ ๋ฒ์ ์ ๋ค์ด๋ก๋ํ์ฌ ์ค์นํด ์ฃผ์ธ์. (์ค์น ์ 'Add Python to PATH' ์ต์ ์ ๋ฐ๋์ ์ฒดํฌํด์ผ ํฉ๋๋ค!)ํ์ด์ฌ ๊ณต์ ์น์ฌ์ดํธ
2๋จ๊ณ: ๐ ๊ฐ์ ํ๊ฒฝ ์ค์ ์ ์ค์์ฑ
์น ๊ฐ๋ฐ์ ํ๋ค ๋ณด๋ฉด ์ฌ๋ฌ ํ๋ก์ ํธ๋ฅผ ๋์์ ์งํํ๊ฒ ๋ ์ ์์ต๋๋ค. ๊ฐ ํ๋ก์ ํธ๋ ์๋ก ๋ค๋ฅธ ๋ฒ์ ์ Django๋ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(๋๊ตฌ)๋ฅผ ํ์๋ก ํ ์ ์์ด์. ์ด๋ **๊ฐ์ ํ๊ฒฝ(Virtual Environment)**์ ํ๋ก์ ํธ๋ง๋ค ๋ ๋ฆฝ๋ ์์ ๊ณต๊ฐ์ ๋ง๋ค์ด ์ฃผ๋ ์ญํ ์ ํฉ๋๋ค. ์ด๋ ์ปดํจํฐ ์ ์ฒด์ ๋ถํ์ํ ์ถฉ๋์ ๋ง์์ฃผ๋ ์์ ์ฅ์น๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. Django ์ค์น ์ , ๊ฐ์ ํ๊ฒฝ ์ค์ ์ ํ์์ ๋๋ค!
๊ฐ์ ํ๊ฒฝ ํด๋ ์์ฑ ๋ฐ ์ด๋:
์ํ๋ ์์น์ ํ๋ก์ ํธ ํด๋๋ฅผ ๋ง๋ญ๋๋ค. (์:
C:\my_django_project)๋ช ๋ น ํ๋กฌํํธ/ํฐ๋ฏธ๋์์ ํด๋น ํด๋๋ก ์ด๋ํฉ๋๋ค.
Bash# (์์) cd C:\my_django_project๊ฐ์ ํ๊ฒฝ ์์ฑ ๋ฐ ํ์ฑํ:
ํ์ด์ฌ์ ๋ด์ฅ๋
venv๋ชจ๋์ ์ฌ์ฉํด ๊ฐ์ ํ๊ฒฝ์ ๋ง๋ญ๋๋ค. (๊ฐ์ ํ๊ฒฝ ์ด๋ฆ์venv๋ก ํ๊ฒ ์ต๋๋ค.)
Bashpython -m venv venv์์ฑ๋ ๊ฐ์ ํ๊ฒฝ์ ํ์ฑํํฉ๋๋ค. (์ด์์ฒด์ ์ ๋ฐ๋ผ ๋ช ๋ น์ด๊ฐ ๋ค๋ฆ ๋๋ค.)
์ด์์ฒด์ ๋ช ๋ น์ด Windows venv\Scripts\activateMac/Linux source venv/bin/activate๋ช ๋ น์ด ์ ๋ ฅ ํ, ํ๋กฌํํธ ์์
(venv)๋ผ๋ ๊ธ์๊ฐ ๋ํ๋๋ฉด ํ์ฑํ ์ฑ๊ณต์ ๋๋ค! ์ด์ ์ด ํ๊ฒฝ ์์์ Django๋ฅผ ์ค์นํ ์ค๋น๊ฐ ์๋ฃ๋์์ต๋๋ค.
3๋จ๊ณ: ⚙️ Django ์ค์นํ๊ธฐ
๊ฐ์ ํ๊ฒฝ์ด ํ์ฑํ๋ ์ํ์์, ํ์ด์ฌ ํจํค์ง ๊ด๋ฆฌ ๋๊ตฌ์ธ pip๋ฅผ ์ด์ฉํด Django๋ฅผ ์ค์นํฉ๋๋ค.
Django ์ค์น ๋ช ๋ น:
๋ค์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๊ณ ์ํฐ๋ฅผ ๋๋ฆ ๋๋ค.
Bashpip install djangopip๊ฐ ์๋์ผ๋ก ์ต์ ๋ฒ์ ์ Django์ ํ์ํ ๋ค๋ฅธ ํจํค์ง๋ค์ ๋ค์ด๋ก๋ํ๊ณ ์ค์นํด ์ค ๊ฒ์ ๋๋ค.์ค์น๊ฐ ์๋ฃ๋๋ฉด, 'Successfully installed django-x.x.x...' ์ ๊ฐ์ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค.
์ค์น ํ์ธ:
์ค์น๊ฐ ์ ๋๋ก ๋์๋์ง ํ์ธํ๊ธฐ ์ํด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด ๋ด ๋๋ค.
Bashdjango-admin --version์ค์น๋ Django ๋ฒ์ ์ด ์ถ๋ ฅ๋๋ฉด ์ฑ๊ณต์ ์ผ๋ก ์ค์น๋ ๊ฒ์ ๋๋ค!
4๋จ๊ณ: ✨ ์ฒซ ๋ฒ์งธ Django ํ๋ก์ ํธ ์์ฑ ๋ฐ ์คํ
์ด์ ๋๋์ด ์ฌ๋ฌ๋ถ์ ์ฒซ ์น ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด ๋ณผ ์ฐจ๋ก์ ๋๋ค.
ํ๋ก์ ํธ ์์ฑ:
myproject๋ผ๋ ์ด๋ฆ์ผ๋ก Django ํ๋ก์ ํธ๋ฅผ ์์ฑํฉ๋๋ค. (myproject๋์ ์ํ๋ ์ด๋ฆ์ ์ฌ์ฉํด๋ ๋ฉ๋๋ค.)
Bashdjango-admin startproject myproject .์ ๊น! ๋ช ๋ น์ด ๋ง์ง๋ง์ **
. (์ )**์ "ํ์ฌ ํด๋์ ํ๋ก์ ํธ ํ์ผ์ ๋ง๋ค์ด๋ผ"๋ ๋ป์ ๋๋ค. ์ด ์ ์ ๋ถ์ด์ง ์์ผ๋ฉดmyproject์์ ๋ ๋ค๋ฅธmyprojectํด๋๊ฐ ์๊ธฐ๊ฒ ๋ฉ๋๋ค.๊ฐ๋ฐ ์๋ฒ ์คํ:
ํ๋ก์ ํธ ํด๋๋ก ์ด๋ํฉ๋๋ค. (์ ๋ช ๋ น์ด์ ์ ์ ๋ถ์๋ค๋ฉด ์ด๋ฏธ ํด๋ ์์ ํ์ผ๋ค์ด ์์ฑ๋์์ผ๋ฏ๋ก ์ด๋ํ ํ์๊ฐ ์์ต๋๋ค. ๋ค๋ง,
manage.pyํ์ผ์ด ์๋ ์์น์ธ์ง ํ์ธํด์ผ ํฉ๋๋ค.)๋ค์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ Django๊ฐ ์ ๊ณตํ๋ ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์คํํฉ๋๋ค.
Bashpython manage.py runserver์น ๋ธ๋ผ์ฐ์ ๋ก ํ์ธ:
์๋ฒ๊ฐ ์คํ๋๋ฉด ํฐ๋ฏธ๋์ 'Starting development server at
' ์ ๊ฐ์ ์ฃผ์๊ฐ ๋ํ๋ฉ๋๋ค.https://127.0.0.1:8000/ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด๊ณ ์ด ์ฃผ์๋ก ์ ์ํด ๋ณด์ธ์.
๋ก์ผ ๋ชจ์์ ํ์ ํ์ด์ง๊ฐ ๋ํ๋๋ฉด ์ถํํฉ๋๋ค! Django ์ค์น์ ์ฒซ ํ๋ก์ ํธ ์์ฑ์ด ์๋ฒฝํ๊ฒ ์ฑ๊ณตํ ๊ฒ์ ๋๋ค! ์ด ํ์ด์ง๋ 'It worked!'๋ผ๋ ๋ฉ์์ง๋ฅผ ๋ด๊ณ ์์ต๋๋ค.
์ฐธ๊ณ : ์๋ฒ๋ฅผ ๋ฉ์ถ๊ณ ์ถ๋ค๋ฉด ๋ช ๋ น ํ๋กฌํํธ/ํฐ๋ฏธ๋ ์ฐฝ์ **
Ctrl + C**๋ฅผ ๋๋ฅด๋ฉด ๋ฉ๋๋ค.
๐️ ๋ง๋ฌด๋ฆฌ ๋ฐ ๋ค์ ๋จ๊ณ
์ค๋ ์ฐ๋ฆฌ๋ ํ์ด์ฌ ์ค์น ํ์ธ๋ถํฐ ์์ํด ๊ฐ์ ํ๊ฒฝ์ ์ค์ ํ๊ณ , pip install django ๋ช
๋ น์ด๋ฅผ ํตํด Django๋ฅผ ์ค์นํ ๋ค์, **django-admin startproject**์ python manage.py runserver ๋ช
๋ น์ด๋ก ์ฒซ ์น์ฌ์ดํธ๋ฅผ ์คํํ๋ ๊ณผ์ ๊น์ง ๋ชจ๋ ์๋ฃํ์ต๋๋ค.
์ด์ ์ฌ๋ฌ๋ถ์ ์น ๊ฐ๋ฐ์๋ก์ ์ฒซ๊ฑธ์์ ๋ ๊ฒ์ ๋๋ค.

๋๊ธ
๋๊ธ ์ฐ๊ธฐ