โ๏ธ Python Programming36 < django - 6 > 6. ์ง๋ฌธ ๋ชฉ๋ก + ํ ํ๋ฆฟ ๋๋ ํฐ๋ฆฌ + ํ ํ๋ฆฟ ํ์ผ + ํ ํ๋ฆฟ ํ๊ทธ ์ ํ + views.py + urls.py + ์ค๋ฅ ํ์ด์ง์ ์๋ต ์ฝ๋ # ์ง๋ฌธ ๋ชฉ๋ก : http://localhost:8000/pybo/ ํ์ด์ง๋ฅผ ์์ฒญํ์ ๋ ์ง๋ฌธ ๋ชฉ๋ก ์ถ๋ ฅํ๊ธฐ 1. pybo/views/py ํ์ผ์ index ํจ์๋ฅผ ์๋๊ฐ์ด ๋ฐ๊พผ๋ค. + ์ง๋ฌธ ๋ชฉ๋ก์ ๋ฐ์ดํฐ๋ Question.objects.order_by('-create_date') ๋ก ์ป์ ์ ์์ + order_by('-create_date') --> ์์ฑ ์ผ์๋ฅผ ์ญ์(=์ต์ ์)์ผ๋ก ์ ๋ ฌ ( ์ฌ๊ธฐ์ ๋ง์ด๋์ค( - ) ๊ธฐํธ๊ฐ ์์ผ๋ฉด ์ญ๋ฐฉํฅ, ์์ผ๋ฉด ์๋ฐฉํฅ ์ ๋ ฌ ) + render ํจ์ : ํ์ด์ฌ ๋ฐ์ดํฐ๋ฅผ ํ ํ๋ฆฟ์ ์ ์ฉํ์ฌ HTML๋ก ๋ณํํ๋ ํจ์ + ํ ํ๋ฆฟ(Templ.. 2022. 7. 30. < django - 5 > 5. ์ฅ๊ณ ๊ด๋ฆฌ์ Admin๊ณผ ์ํผ ์ ์ + ๋ชจ๋ธ ๊ด๋ฆฌ + ๋ชจ๋ธ ๊ฒ์ # ์ํผ์ ์ (superuser) : ์ฅ๊ณ ๊ด๋ฆฌ์ ํ๋ฉด์ ์ ์ํ ์ ์๋ ์ ์ - python manage.py createsuperuser ๋ช ๋ น์ผ๋ก ์ํผ์ ์ ๋ฅผ ๋ง๋ค ์ ์๋ค. + ๋น๋ฐ๋ฒํธ๋ฅผ 2222 ๋ก ํ๋๋ ๊ฒฝ๊ณ 3๊ฐ๊ฐ ์ถ๋ ฅ๋จ -> ์์ ํ ๋น๋ฐ๋ฒํธ๋ก ๋ฐ๊ฟจ๋๋ ์์ด์ง # ์ฅ๊ณ ๊ด๋ฆฌ์ ํ๋ฉด 1. ๋ก์ปฌ ์๋ฒ ๊ตฌ๋ 2. ์๋ฒ ๊ตฌ๋ ํ http://localhost:8000/admin/ ํ์ด์ง์ ์ ์ -> ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ํจ์ค์๋ ์ ๋ ฅ # ๋ชจ๋ธ ๊ด๋ฆฌ 1. Question ๋ชจ๋ธ์ ๊ด๋ฆฌ์์ ๋ฑ๋กํ๊ธฐ ์ํด ํ์ด์ฐธ์ admin.py ํ์ผ์ ์๋์ ๊ฐ์ด ์์ ํ๋ค. 2. ๋ชจ๋ธ ๋ฑ๋ก ํ ์ฅ๊ณ ๊ด๋ฆฌ์ ํ๋ฉด์ ๊ฐฑ์ ํ๋ค. 3. Question ๋ชจ๋ธ์ "+์ถ๊ฐ".. 2022. 7. 30. < django - 4 > 4. ๋ชจ๋ธ + ์ฅ๊ณ ์ฑ migrate + ๋ชจ๋ธ ์์ฑ + ํ ์ด๋ธ ์์ฑ + Question & Answer ์์ฑ, ์์ , ์ญ์ # ๋ชจ๋ธ : ์ฅ๊ณ ๋ ๋ชจ๋ธ์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฒ๋ฆฌํจ. ์ฅ๊ณ ์ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ฉด SQL ์ฟผ๋ฆฌ๋ฌธ(๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ, ์กฐํํ๊ธฐ ์ํด ์ฌ์ฉ)์ ์ฌ์ฉํ์ง ์์๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค. # ํ์ด๋ณด์ ๋ชจ๋ธ - ํ์ด๋ณด : ์ง๋ฌธ, ๋ต๋ณ์ ํ ์ ์๋ ํ์ด์ฌ ๊ฒ์ํ ์๋น์ค๋ก, ์ง๋ฌธ๊ณผ ๋ต๋ณ์ ํด๋นํ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ์์ด์ผ ํจ - ๋ชจ๋ธ์ ์์ฑ (์ต์ ์๋ 3๊ฐ๋ ๊ฐ์ง๊ณ ์์ด์ผ ํจ) Question ๋ชจ๋ธ Answer ๋ชจ๋ธ - subject : ์ง๋ฌธ ์ ๋ชฉ - content : ์ง๋ฌธ ๋ด์ฉ - create_date : ์ง๋ฌธ ์์ฑ ์๊ฐ - question : ์ด๋ค ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ธ์ง - cont.. 2022. 7. 29. < django - 3 > 3. ์ฅ๊ณ ์ ๊ธฐ๋ณธ ์์ - URL๊ณผ ๋ทฐ + ์ฑ(App) + ์ฅ๊ณ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ + ์ฅ๊ณ ๊ฐ๋ฐ ํ๋ฆ + URL ๋ถ๋ฆฌ # ๊ฒ์ํ ๊ธฐ๋ฅ์ ๋ด๋นํ๋ pybo ์ฑ(App) ์์ฑํ๊ธฐ : mysite ํ๋ก์ ํธ๋ฅผ ์์ฑํ ํ ๊ธฐ๋ฅ์ ์ํํ๋ ค๋ฉด ์ฑ์ ์์ฑํด์ผ ํ๋ค. -> ๋ช ๋ น ํ๋กฌํฌํธ์์ django-admin์ startapp ๋ช ๋ น์ ํตํด pybo ์ฑ์ ์์ฑํ๋ค. # ์ฅ๊ณ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ : ๋ธ๋ผ์ฐ์ ์์ http://localhost:8000/pybo ํ์ด์ง๋ฅผ ์์ฒญํ์ ๋ "์๋ ํ์ธ์ pybo์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค."๋ผ๋ ๋ฌธ์์ด์ ์ถ๋ ฅํ๊ฒ ๋ง๋ค๊ธฐ 1. ๋ก์ปฌ ์๋ฒ๋ฅผ ๊ตฌ๋์ํจ๋ค. 2. ๋ธ๋ผ์ฐ์ ์์ http://localhost:8000/pybo ํ์ด์ง๋ฅผ ์์ฒญํ๋ค. --> ํ์ด์ง์์ ๋ณด์ฌ์ฃผ๋ ์ค๋ฅ์ ์์ธ : config/u.. 2022. 7. 28. < django - 2 > 2. ์ฅ๊ณ ํ๋ก์ ํธ ์์ฑํ๊ธฐ + ํ์ด์ฐธ ์ฌ์ฉํ๊ธฐ # ์ฅ๊ณ ํ๋ก์ ํธ ์์ฑ : ์ฅ๊ณ ์์์ " ํ๋ก์ ํธ = ์น ์ฌ์ดํธ " ์ด๊ณ , ํ๋ก์ ํธ๋ ์ฌ๋ฌ ์ฑ์ ํฌํจํ๊ณ ์๋ค. - ( ์ฅ๊ณ ์ ) ์ฑ : ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๋ ์์ ๋จ์์ ๊ธฐ๋ฅ์ผ๋ก, ์ฅ๊ณ ๊ฐ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ๋ ์ฑ๊ณผ ๊ฐ๋ฐ์๊ฐ ๊ฐ๋ฐํ ์ฑ์ ๋งํ๋ค. 1. ๋ฃจํธ ๋๋ ํฐ๋ฆฌ C:\projects ๋ฅผ ์์ฑํ๊ณ ๊ทธ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ๋ค. 2. mysite ๊ฐ์ํ๊ฒฝ์ ์ง์ ํ๋ค. C:\projects> C:\venvs\mysite\Scripts\activate --> ์ ์์ ์ผ๋ก ์ง์ ํ์ ๊ฒฝ์ฐ ์๋์ฒ๋ผ ๋์ด. (mysite) C:\projects> 3. ํ์ด๋ณด ํ๋ก์ ํธ๋ฅผ ์๋ฏธํ๋ mysite ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ๊ทธ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ๋ค. 4. django-admin startproj.. 2022. 7. 27. [Django] 1. ํ์ด์ฌ ๊ฐ์ ํ๊ฒฝ & ์ฅ๊ณ ๊ฐ๋ฐ ํ๊ฒฝ ์ค๋น 1. ํ์ด์ฌ ๊ฐ์ ํ๊ฒฝ + ์ฅ๊ณ ๊ฐ๋ฐ ํ๊ฒฝ ์ค๋น # ํ์ด์ฌ ๊ฐ์ ํ๊ฒฝ ์ฌ์ฉ 1. ์๋์ฐ์์ ๋ช ๋ น ํ๋กฌํฌํธ ์คํ -> cd \ ๋ช ๋ น์ด ์ ๋ ฅ 2. mkdir ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ venvs ๋๋ ํฐ๋ฆฌ ์์ฑํ๊ธฐ 3. -m venv ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ ํ์ด์ฌ ๊ฐ์ํ๊ฒฝ ๋ง๋ค๊ธฐ + ์ฌ๊ธฐ์ ์์ ๋ช ๋ น์ด๋ ํ์ด์ฌ ๋ชจ๋ ์ค venv ๋ผ๋ ๋ชจ๋์ ์ฌ์ฉํ๋ค๋ ์๋ฏธ์. + ๋ค์ mystile ์ ๊ทธ๋ฅ ๊ฐ์ ํ๊ฒฝ์ ์ด๋ฆ์ด๋ค. ์ด๋ค ์ด๋ฆ์ด๋ ์๊ด X 4. cd ๋ช ๋ น์ด์ activate ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ๊ฐ์ ํ๊ฒฝ์ ์ง์ ํ๊ธฐ C:\venvs> cd C:\venvs\mysite\Scripts C:\venvs\mysite\Scripts> activate --> ์ฑ๊ณต์ ์ผ๋ก ์ง์ ํ๋ฉด ์๋ ์ฌ์ง์ฒ๋ผ ๋์จ๋ค. + ์๋ ์ฌ์ง์ฒ๋ผ deactivate .. 2022. 7. 27. ์ด์ 1 ยทยทยท 3 4 5 6 ๋ค์