โ ์ฐธ๊ณ : Mac๊ธฐ์ค์ผ๋ก ๊ธฐ๋กํ์ต๋๋ค.
โ Django๋?
์น ํ๋ ์์ํฌ(์คํ์์ค)
โ Django ์์ํ๊ธฐ
(๊ธฐ๋ณธ์ ์ผ๋ก) Python์ ๋ํด ์ด๋์ ๋ ์๊ณ ์์ด์ผ ํ๋ค.
cli๋ฅผ ์ผ ๋ค. (๋งฅ์ผ๋ก์ฌ ํฐ๋ฏธ๋, ์๋์ฐ ํ์์)
ํ์ด์ฌ์ผ๋ก ๊ฐ์ํ๊ฒฝ์ ๋ง๋ ๋ค. (๊ฐ์ํ๊ฒฝ์๋ค๊ฐ ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๊ฒฝ์ ์ค์ ํ๊ธฐ ์ํจ.)
๊ฐ์ํ๊ฒฝ์ ์คํ ์ํจ๋ค.
๊ฐ์ํ๊ฒฝ์ ํ๊ฒฝ์ ์ ๊ทธ๋ ์ด๋ ํ๋ค.
๊ฐ์ํ๊ฒฝ์ Django๋ฅผ ์ค์นํ๋ค.
์ค์น ํ, django-admin์ ํตํด์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ค.
~=1.11.0 ์์ด ํ๋ฉด ์ต์ ๋ฒ์ ์ ์ฅ๊ณ ๊ฐ ๋ง๋ค์ด์ง๋ค. (์ถ์ฒ)
CLI ํ๊ฒฝ์์ ์์ ๊ฐ์ด ๋๋๋ฉด,
์์ ์ด ์ฐ๋ ์ฝ๋ ํธ์ง๊ธฐ๋ก ํด๋น ํด๋๋ฅผ ์ฝ๋๋ค. (์ ๋ VSCode)
๊ทธ๋ฌ๋ฉด ์๋์ ๊ฐ์ ํด๋ ๊ตฌ์กฐ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
โ Django DB์์ฑ/ App ์์ฑ
์์ ๊ฐ์ด 'blog'๋ผ๋ ์ฑ์ ์์ฑ ํ, settings.py ์์๋ ์ฑ์ ์ถ๊ฐํด์ค์ผ ํ๋ค.
[๐ ์ค์]
| ์ฅ๊ณ ์์๋ SQL์ ํตํ์ง ์๊ณ , ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌ ํ ์ ์๋ค.
| ์์ฑ๋ manage.py ๋ฅผ ์ด์ฉํ๋ฉด ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ์์ฑํ ์ ์๋๋ฐ,
| migrate ๋ผ๋ argument๋ฅผ ์ง์ด ๋ฃ์ผ๋ฉด ํด๋น ๋๋ ์น์ฌ์ดํธ๋ฅผ ์ํ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ฑ์ด ๋๋ค.
| (์น ์ฌ์ดํธ ๊ตฌ์ถ์ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ ๋ ํ์ฅ์ด ๋์ด์ง๋๋ฐ, ๊ทธ ๋๋ง๋ค migrate๋ฅผ ํด์ฃผ์ด์ผ ํ๋ค.)
โ Django ์๋ฒ ์คํ
python manage.py runserver ๋ช ๋ น์ด๋ก ์คํ ์ํจ๋ค.
โ ๊นํ๋ธ ์ฐ๋
pythonanywhere ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๊นํ๋ธ์ ์ฌ๋ ค ๋์ด์ผ ํ๋ค.
(pythonanywhere์ ์ฌ์ฉํ๋ ์ด์ ๋ ๊ธ๋ก๋ฒ ์๋น์ค๋ฅผ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๊ธฐ ๋๋ฌธ. - 127.0.0.1:8000์ ๋ด ์ปดํจํฐ ์์๋ง.
๊ธ๋ก๋ฒ ์๋น์ค๋ ์ด๋์์๋ ํด๋น ์ฃผ์๋ก ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ๋๋ค.)
๋ ํฌ์งํฐ๋ฆฌ๋ฅผ ๋ง๋ค์ด์ ํด๋น ํ๋ก์ ํธ๋ฅผ ์ฌ๋ ค ๋๋ฉด ๋ฉ๋๋ค.
โ PythonAnywhere ์๋น์ค ์์ํ๊ธฐ (๐ ๋๋์ด ๊ธ๋ก๋ฒ ์๋น์ค์ ์์!)
pythonanywhere : ๋๋ฉ์ธ ์๋น์ค์, ํด๋ผ์ฐ๋ ์๋น์ค(IDC)๋ฅผ ๋์์ ํด์ค๋ค.
โฃ๋งํฌ
https://www.pythonanywhere.com/
[์ฐธ๊ณ ] ๊ฐ์ ์์, ๋ฌด๋ฃ ๊ณ์ ์ ์ ํํ์ธ์ / ์ด๋ฉ์ผ ์ปจํ ํ์ํฉ๋๋ค.
Dashboard
์ฝ์: ๊ฐ์ ์์คํ ์ ๋ง๋ ๋ค๊ณ ๋ณด๋ฉด ๋๋ค. (๋ฆฌ๋ ์ค ๊ธฐ๋ฐ์ด๋ค.)
์ด ๊ฐ์ ์์คํ ์ ๋ง๋ค์ด์ ์๋น์ค๋ฅผ ์ด ์์คํ ์ ํด๋ก ๋ฐ์์ ์คํ ํ๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
๊ฐ์์ ์ปดํจํฐ๋ผ๊ณ ๋ณด๋ฉด ๋๋ ๊ฐ๋ ์ผ๋ก ๊ฐ๋ฐ ํ๊ฒฝ ์ค์ ์ ํด์ฃผ๋ ๊ฒ์ด ๊ฐ๋ค.
(์ค์์์ ์ฝ์ ์์ฒด๋ฅผ ์ง์ฐ๋ฉด ๋จ. ์ค์! ๐)
Web
์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ด๋ฆฌํ๋ ๋ถ๋ถ.( ํ๊ฒฝ ์ค์ ์ด ํ์ํ๋ค.)
Django๊ฐ ์๋๋ผ manual!!!! >> Python ์๊ธฐ ๋ฒ์ >> ์ด๋ฆ ์ค์ ๋ฅผ ๋ง์น๊ณ ๋๋ฉด ์๋์ ๊ฐ์ ํ๋ฉด์ด ๋ณด์ธ๋ค.
์๋์ ๊ฐ์ด ํ๊ฒฝ ์ค์ ์ ํด์ค์ผ ํ๋๋ฐ, ์๋์ ๊ฐ์ ์์น๋ฅผ ์์๋ด๊ธฐ ์ํด์๋ ๊ทธ ์๋ "โ ๊ฐ์ํ๊ฒฝ์์ ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ"๋ฅผ ๋ชจ๋ ๋๋ด์ผํ๋ค.
โ ๊ฐ์ํ๊ฒฝ์์ ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ
๋ฐฐ์ฌ์์ ์คํ ๋๋ ๊ฒ์ ๋ณด๋ฉด, pythonanywhere์ด๋ผ๋ ๊ฐ์ ๋จธ์ ์ ๋ง๋ค๊ณ
๊ทธ ์์ ํ์ด์ฌ์ ๊ฐ๋ฐํ๊ธฐ ์ํ ๊ฐ๋ฐ ํ๊ฒฝ์ ๋ง๋๋ ๊ฒ์ด๋ค.
์์ ๊ฐ์ ๋, pip install django ๋ช ๋ น์ด๋ก ๋์ฅ๊ณ ๋ฅผ ์ค์นํ๋ค.
์ค์น์์ ์์กด์ฑ์ด ์๋ ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํจ๊ป ์ค์น ๋๋ค.
์ฅ๊ณ ๊ฐ ๋ชจ๋ ์ค์น๋๋ฉด, ์ด์ ์ ๋ก์ปฌ ํ๊ฒฝ์์ ๊นํ๋ธ์ ์ฐ๋ ์์ผ ๋์ ๋ถ๋ถ์ ํด๋ก ํ๋ค.
git clone https:~~~/~.git
์ด ๋ถ๋ถ์ ๋ง์น๊ณ ๋๋ฉด ์ฒ์์๋ venv_web_practice ๋ง ์๋ ํด๋์ DjangoPractice (๋ด๊ฐ ๋ก์ปฌ์์ ๋ง๋ค ์๋๊ฑฐ) ๊ฐ ์ ํด๋ก ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
(๋ค์ ์ธ๊ธํ์ง๋ง) ๋ก์ปฌ์์์ ๊ฐ์ด migrate๋ฅผ ํตํด์ DB๋ฅผ ์์ฑํด์ค๋๋ค.
โ Global Url
โ PythonAnywhere ์ ์ฐ๋ฆฌ๊ฐ ๋ง๋ค์๋ App ์ค์ ํ๊ธฐ.
File ๋์ฌ๋ณด๋ ๋ค์ด๊ฐ๊ธฐ โข ๋ฃจํธ ๋๋ ํ ๋ฆฌ " ์ต์์ /" ํด๋ฆญ โข "var" ํด๋ฆญ โข "www/" ํด๋ฆญ โข "๋ธ๋ผ ๋ธ๋ผ_wsgi.py" ํด๋ฆญ
WSGI ํ์ผ
: ์ฅ๊ณ ๋ WSGI ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์๋ํ๋๋ฐ, ํด๋น ํ๋กํ ์ฝ์ ํ์ด์ฌ์ ์ด์ฉํ ์น์ฌ์ดํธ๋ฅผ ์๋น์คํ๊ธฐ ์ํ ํ์ค์ด๋ค. ํด๋น ํ์ผ์ ์์ ํ๋ฉด์ ์ฐ๋ฆฌ ์ฑ์ PythonAnywhere ์ด ์ธ์ํ๊ฒ ํ๋ ๊ณผ์ ์ด๋ค. (ํ์ด์ฌ์ ๋์จ์ด์์ ํด๋ฆญํ๋ฉด ๋ฐ๋ก ํธ์ง๊ธฐ๋ก ํธ์ง ๊ฐ๋ฅํ๋ค.)
"๋ธ๋ผ ๋ธ๋ผ_wsgi.py" ์ ์ฒด ๋ด์ฉ ์ญ์ โข ์๋์ ๊ฐ์ด ์์ฑ
์น ๋์ฌ ๋ณด๋์์, ์ด๋ก์ ๋ฆฌ๋ก๋๋ฅผ ํ๊ณ , ์์ ์ ๊ธ๋ก๋ฒ ๋๋ฉ์ธ์ผ๋ก ๋ค์ด๊ฐ๋ฉด ๋๋ค.
'Django_Web' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Django] ์ ๋ก๋ํ ํ์ผ ๋ด๊ฐ ์ํ๋ ๋๋ก ์ฒ๋ฆฌํ๊ธฐ (0) | 2021.07.19 |
---|---|
[Django][FusionCharts] ์ฌ์ฉ๋ฐฉ๋ฒ & ์ฅ๊ณ ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ (0) | 2021.06.13 |
[Django] ํ์ผ ์ ๋ก๋ ๊ธ๋ก๋ฒ ์๋น์ค ๊ตฌํํ๊ธฐ (0) | 2021.06.09 |
Django Model/ DB (0) | 2021.04.13 |
pyrhonanywhere.com ์๋น์ค ์์ํ๊ธฐ (0) | 2021.03.30 |
๋๊ธ