2020. 10. 4. 15:39ใLearning archive/Web development
CONTENTS
0. Django๋?
1. ์น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ๋?
2. ์น ํ๋ ์์ํฌ์ ํ์ 3์์
3. ์ฅ๊ณ ์ํคํ ์ณ
0. Django(์ฅ๊ณ )๋?
Django(/dสæลษกoส/ jang-goh/์๊ณ /์ฅ๊ณ )๋ ํ์ด์ฌ์ผ๋ก ๋ง๋ค์ด์ง ๋ฌด๋ฃ ์คํ์์ค ์น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ(web application framework)์ ๋๋ค. ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์น์ฌ์ดํธ๋ฅผ ๊ฐ๋ฐํ ์ ์๋๋ก ๋๋ ๊ตฌ์ฑ์์๋ก ์ด๋ฃจ์ด์ง ์น ํ๋ ์์ํฌ๋๋๋ค. ์น์ฌ์ดํธ๋ฅผ ๊ตฌ์ถํ ๋, ๋น์ทํ ์ ํ์ ์์๋ค์ด ํญ์ ํ์ํฉ๋๋ค. ํ์๊ฐ์ , ๋ก๊ทธ์ธ, ๋ก๊ทธ์์๊ณผ ๊ฐ์ด ์ฌ์ฉ์ ์ธ์ฆ์ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ด๋ ์น์ฌ์ดํธ์ ๊ด๋ฆฌ์ ํจ๋, ํผ, ํ์ผ ์ ๋ก๋์ ๊ฐ์ ๊ฒ๋ค ๋ง์ด์ง์.
์ถ์ฒ | ์ฅ๊ณ ๊ฑธ์ค https://tutorial.djangogirls.org/ko/django/
1. ์น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ(Web application framework)๋?
์น ์๋น์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์ํคํ ์ฒ๋ฅผ ์ ๊ณตํ๋ ์ํํธ์จ์ด๋ฅผ ๋ปํ๋ค.
2. ์น ํ๋ ์์ํฌ์ ํ์ 3์์๋ MVC(Model, View, Controller)
- ๋ฐ์ดํฐ์ ๊ด๋ จ๋ ๋ชจ๋ ์์ ๋ค์ M(Model) ์ ๋ง๋ค์
- ๋ณด์ฌ์ง๋ ์ค์ ํ๋ฉด๊ณผ ๊ด๋ จ๋ ๊ฒ์ V(View) ์ ๋ง๋ค์
- ์ ์ ๊ฐ ํ๋ฉด์ ๋ณด๋ฉฐ ์์ฒญํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉด์ ์ํต์ ํ๋ค๋ฉด C(Controller)์ ๋ง๋ค์
์ฅ๊ณ ์์ MVC๋ ๋ค๋ฅธ ํ๋ ์์ํฌ์ ๊ทธ ๋ช ์นญ์ด ๋ค๋ฅด๋ค. ์ค์ง์ ์ผ๋ก ์ฅ๊ณ ์์ ์ฌ์ฉํ๋ ํด๋ ์ฉ์ด๋ ์กฐ๊ธ ๋ค๋ฅด๋ค.
model, template, view์ ์ฉ์ด๋ฅผ ์ฐ๋ฉฐ, ๋ฐ๋ผ์ MVTํจํด์ด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
๐model
๐template //MVC๋ชจ๋ธ์์ view์ ํด๋นํ๋ ํํธ
๐view //MVC๋ชจ๋ธ controller์ ํด๋นํ๋ ํํธ
โ๏ธTip : ์ 3์์๋ฅผ ๋ถ๋ฆฌํด์ ์์ฑํด์ผ ํจ (ํ์ค)
3. ์ฅ๊ณ ์ํคํ ์ณ(Django Architecture)
(1) ๊ธฐ๋ณธ์ ์ธ ์ํคํ ์ฒ
์ฌ์ฉ์์ ์์ฒญ Basic request / response process ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๋ผ ๋ณด์ฌ์ค์ผํ๋ ๊ฒฐ๊ณผ๋ค (๋ฐ์ดํฐ, ํ๋ฉด ๋ฑ)
์ ์ ๊ฐ ์น ํ์ด์ง์ ์ ์ํ๋ฉด โถ๏ธ์น ํ๋ ์์ํฌ์ธ ์ฅ๊ณ ๊ฐ ์์ฒญ(request)์ ๋ฐ๋๋ค (์ ๋ ฅํ URL์ ํด๋นํ๋ ํ์ด์ง ์ด์ด์ค!) โถ๏ธ์ฅ๊ณ ๋ ์ด๋ค URL์ธ์ง ๋ถ์ํ๊ณ ๊ทธ์ ํ์ํ ํ๋ฉด์ ์ฐพ๋๋ค โถ๏ธํ ํ๋ฆฟ์ ๊ฐ์ ธ์จ๋ค. (ํ๋ฉด์ ์คํ์ผ) โถ๏ธ ํ๋ฉด์ ๋ณด์ฌ์ค์ผ ํ๋ ๋ด์ฉ๋ค(data)์ model์์ ๊ฐ์ ธ์จ๋ค.
(2) ์ฅ๊ณ ์ํคํ ์ณ ์์ธ
Note •Web์๋ฒ, WAS(Web Application Server)์๋ฒ๋ ํ๋ก์ ํธ๊ฐ ์ปค์ง๋ฉด ์ฃผ๋ก ๋ถ๋ฆฌํ๋ค.
์๊ท๋ชจ, ๊ฐ์ธ์ฉ ํ๋ก์ ํธ์ธ ๊ฒฝ์ฐ ํ๋๋ก ํฉ์ณ ์์ ํ ์๋ ์๋ค.
Web์๋ฒ์ WAS ์๋ฒ ์ฐธ๊ณ ์๋ฃ : gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html
[Web] Web Server์ WAS์ ์ฐจ์ด์ ์น ์๋น์ค ๊ตฌ์กฐ - Heee's Development Blog
Step by step goes a long way.
gmlwjd9405.github.io
4. Pycharm ์ค์น์ ์ธํ
PyCharm: the Python IDE for Professional Developers by JetBrains
The Python & Django IDE with intelligent code completion, on-the-fly error checking, quick-fixes, and much more...
www.jetbrains.com
5. ์ฅ๊ณ ์ค์น
(1) ๊ฒฝ๋ก env ์ธํ
(2) ์ฅ๊ณ ์ค์น
(3) ์ฅ๊ณ ๊ธฐ๋ฐ ํ๋ก์ ํธ ์์ฑ | django-admin startproject
(4) ์ด๋๋ฏผ ๊ด๋ จ DB๋ฅผ ์ธํ ํ๊ธฐ | python manage.py migrate
(5) python manage.py runserver