3. ์ฅ๊ณ ์ ๊ธฐ๋ณธ ์์ - URL๊ณผ ๋ทฐ + ์ฑ(App) + ์ฅ๊ณ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ + ์ฅ๊ณ ๊ฐ๋ฐ ํ๋ฆ + URL ๋ถ๋ฆฌ
# ๊ฒ์ํ ๊ธฐ๋ฅ์ ๋ด๋นํ๋ pybo ์ฑ(App) ์์ฑํ๊ธฐ
: mysite ํ๋ก์ ํธ๋ฅผ ์์ฑํ ํ ๊ธฐ๋ฅ์ ์ํํ๋ ค๋ฉด ์ฑ์ ์์ฑํด์ผ ํ๋ค.
-> ๋ช ๋ น ํ๋กฌํฌํธ์์ django-admin์ startapp ๋ช ๋ น์ ํตํด pybo ์ฑ์ ์์ฑํ๋ค.
# ์ฅ๊ณ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ
: ๋ธ๋ผ์ฐ์ ์์ http://localhost:8000/pybo ํ์ด์ง๋ฅผ ์์ฒญํ์ ๋ "์๋ ํ์ธ์ pybo์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค."๋ผ๋ ๋ฌธ์์ด์ ์ถ๋ ฅํ๊ฒ ๋ง๋ค๊ธฐ
1. ๋ก์ปฌ ์๋ฒ๋ฅผ ๊ตฌ๋์ํจ๋ค.
2. ๋ธ๋ผ์ฐ์ ์์ http://localhost:8000/pybo ํ์ด์ง๋ฅผ ์์ฒญํ๋ค.
--> ํ์ด์ง์์ ๋ณด์ฌ์ฃผ๋ ์ค๋ฅ์ ์์ธ : config/urls.py ํ์ผ์ ์์ฒญํ pybo/ URL์ ํด๋นํ๋ ๋งคํ์ด ์กด์ฌํ์ง ์์
3. ์์์ ์ธ๊ธํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, config/urls.py ํ์ผ์ pybo/ URL์ ๋ํ ๋งคํ์ ์ถ๊ฐํ๋ค.
+ ์ฅ๊ณ ์ urls.py ํ์ผ์ ํ์ด์ง ์์ฒญ ๋ฐ์ ์ ๊ฐ์ฅ ๋จผ์ ํธ์ถ๋๋ ํ์ผ์ด๋ฉฐ, ๋ทฐ ํจ์์ URL ๊ฐ์ ๋งคํ์ ์ ์ํ๋ ์ญํ ์ ์ํํ๋ค.
+ ๋ทฐ ํจ์ : views.py ํ์ผ์ ์ ์๋ ํจ์
4. URL ๋งคํ์ ์ถ๊ฐํ๊ธฐ ์ํด config/urls.py ํ์ผ์ ์๋์ฒ๋ผ ์์ ํ๋ค.
+ views.index ๋ views.py ํ์ผ์ index ํจ์๋ฅผ ์๋ฏธ
+ ํธ์คํธ(http://localhost:8000/pybo์์์ localhost), ํฌํธ(http://localhost:8000/pybo์์์ 8000)๋ ์๋ฒ ์คํ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ณํ๋ค. -> urlpatterns ์์ ์ค์ URL(http://localhost:8000/pybo)์ด ์๋ ํธ์คํธ์ ํฌํธ๋ฅผ ์๋ตํ pybo/ ๋ก ๋งคํ
+ ํน์ํ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด URL ๋งคํ ์ ํญ์ ๋์ ์ฌ๋์(/)๋ฅผ ๋ถ์ฌ์ผ ํ๋ค.
5. ๋ค์ http://localhost:8000/pybo ํ์ด์ง๋ฅผ ์์ฒญํ๋ค.
: URL ๋งคํ์ ์ถ๊ฐํ ๋ทฐ ํจ์(views.index)๊ฐ ์์ด ์ค๋ฅ ๋ฐ์
6. pybo/views.py ํ์ผ์ index ํจ์ ์ถ๊ฐํด์ ์ค๋ฅ ์ ๊ฑฐํ๊ธฐ
+ HttpResponse ๋ ์์ฒญ์ ๋ํ ์๋ต ์ ์ฌ์ฉ -> "์๋ ํ์ธ์ pybo์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค"๋ผ๋ ๋ฌธ์์ด์ ๋ธ๋ผ์ฐ์ ์ ์ถ๋ ฅํ๊ธฐ ์ํด ์
+ request (index ํจ์์ ๋งค๊ฐ๋ณ์) ๋ HTTP ์์ฒญ ๊ฐ์ฒด์
7. ๋ค์ http://localhost:8000/pybo ํ์ด์ง๋ฅผ ์์ฒญ
+ ์ฃผ์!
๋ง์ฝ ๋ช
๋ น ํ๋กฌํฌํธ๋ฅผ ๊ป๋ค๊ฐ ๋ค์ ์คํํ๋ ๊ฒฝ์ฐ, ๋ฐ๋์ ๋ทฐ ํจ์๋ฅผ ๋ชจ๋ ์์ฑํ ํ mysite -> python manage.py runserver ์ ์
๋ ฅํด์ฃผ์ด์ผ ํ์ด์ง๊ฐ ์ ์์ ์ผ๋ก ๋ํ๋๋ค. ์ด๋ ๊ฒ ์ํ๋ฉด localhost๊ฐ ์์ฒญ์ ๊ฑฐ์ ํ๋ค๊ณ ๋์จ๋ค......
# ์ฅ๊ณ ๊ฐ๋ฐ ํ๋ฆ ์ ๋ฆฌ
1. ๋ธ๋ผ์ฐ์ ์์ ๋ก์ปฌ ์๋ฒ๋ก http://localhost:8000/pybo ํ์ด์ง ์์ฒญ
2. urls.py ํ์ผ์์ /pybo URL ๋งคํ ํ์ธ ํ views.py ํ์ผ์ index ํจ์๋ฅผ ํธ์ถ
3. ํธ์ถ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ธ๋ผ์ฐ์ ์ ์ถ๋ ฅ
# URL ๋ถ๋ฆฌ
: ์์ ๋ฐฉ๋ฒ๋ง์ผ๋ก ๋๋ธ๋ค๋ฉด pybo์ ๊ด๋ จ๋ URL ๋งคํ์ ์ถ๊ฐํ ๋๋ง๋ค config/urls.py ํ์ผ์ ์์ ํด์ผ ํจ
+ config์ urls.py ํ์ผ์ ์ฑ์ด ์๋ ํ๋ก์ ํธ ์ฑ๊ฒฉ์ ํ์ผ์ด๋ ์ด๊ณณ์๋ ํ๋ก์ ํธ ์ฑ๊ฒฉ์ URL ๋งคํ๋ง ์ถ๊ฐ๋์ด์ผ ํจ
1. ์์ ๊ฐ์ ๋ฌธ์ ์ ํด๊ฒฐ์ ์ํด config/urls.py ํ์ผ์ ์๋์ ๊ฐ์ด ์์
+ path('pybo/', include('pybo.urls')) ์ pybo/ ๋ก ์์ํ๋ ํ์ด์ง ์์ฒญ ์ pybo/urls.py ํ์ผ์ ๋งคํ ์ ๋ณด๋ฅผ ์ฝ์ด ์ฒ๋ฆฌํ๋ผ๋ ์๋ฏธ์. --> ์ด์ pybo/๋ก ์์ํ๋ URL์ ์ถ๊ฐํ ๋, config/urls.py ํ์ผ์ ์์ ํ ํ์์์ด pybo/urls.py ํ์ผ๋ง ์์ ํ๋ฉด ๋จ
2. pybo/urls/py ํ์ผ์ ์์ฑ ํ ํ์ผ์ ์๋์ ๊ฐ์ด ์์ฑํ๋ค.
+ config/urls.py ํ์ผ์์ ์ด๋ฏธ pybo/๋ก ์์ํ๋ URL ์ด pybo/urls.py ํ์ผ๊ณผ ๋จผ์ ๋งคํ๋์๊ธฐ ๋๋ฌธ์ pybo/ ๊ฐ ์๋ต๋ " ์ด ์ฌ์ฉ๋์์.
3. ๋ค์ http://localhost:8000/pybo ํ์ด์ง๋ฅผ ์์ฒญํ์ฌ URL ๋ถ๋ฆฌ ํ์๋ ๋์ผํ ๊ฒฐ๊ณผ๊ฐ ๋์ด์ ํ์ธ
'โ๏ธ Python Programming > Frameworks' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
< django - 6 > (0) | 2022.07.30 |
---|---|
< django - 5 > (0) | 2022.07.30 |
< django - 4 > (0) | 2022.07.29 |
< django - 2 > (0) | 2022.07.27 |
[Django] 1. ํ์ด์ฌ ๊ฐ์ ํ๊ฒฝ & ์ฅ๊ณ ๊ฐ๋ฐ ํ๊ฒฝ ์ค๋น (0) | 2022.07.27 |