2.4 Django Template ์์๋ณด๊ธฐ
์ฅ๊ณ ์ ๊ตฌ์ฑ ์์ ์ค ํ๋์ธ ํ ํ๋ฆฟ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
2.4.1 Django Template ์ด๋
ํ ํ๋ฆฟ์ ์ฌ์ฉ์์๊ฒ ๋ณด์ด๋ ๋ถ๋ถ์ด๋ผ๊ณ ํ์ต๋๋ค. ์ฆ ์น ํ์ด์ง์ ๊ณจ๊ฒฉ HTML๋ก ์์ฑ๋ ๋ถ๋ถ์ด๋ผ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ด ๋ถ๋ถ์ ํ๋ก ํธ ๊ฐ๋ฐ ์์ญ์ ํฌํจ๋๋ค๊ณ ์๊ฐํ ์ ์๊ฒ ์ต๋๋ค.
2.4.2 Django Template์ ํน์ง
์ฅ๊ณ ์ ํ ํ๋ฆฟ์ ์ผ๋ฐ์ ์ธ HTML ์์ฑ๊ณผ 99% ๋์ผํฉ๋๋ค. ์์ฃผ ์์ ์ฐจ์ด๊ฐ ์๋ค๋ฉด
ํ ํ๋ฆฟ ํ๊ทธ ์ ๋๋ค. ์ฅ๊ณ ์ ์ฅ์ ์ด๋ผ๊ณ ํ ์ ์๋๋ฐ์,
Django์ ํ ํ๋ฆฟ ํ๊ทธ๋ HTML์ด ํ์ด์ฌ ์ฝ๋๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ก ๋๊ฒจ๋ฐ์์ ์์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ ๋๊ตฌ์ ๋๋ค.
HTML -> ๋งํฌ์ ์ธ์ด ์ด๋ฏ๋ก ์ ์ ์ธ ์นํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ๋ง ํฉ๋๋ค.
๋ฌด์ธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ ๋ฐ์์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ ๋๊ตฌ๊ฐ ๋์์ฃผ์ด์ผ ํ๋๋ฐ,
์ฅ๊ณ ์์๋ ์์ฃผ ํธํ๊ฒ๋ ํ์ด์ฌ์ผ๋ก๋ถํฐ ๋ฐ๋ก ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ๋ฐ์ ์ ์๋๋ก ํ๋ ํ ํ๋ฆฟ ํ๊ทธ๊ฐ ์์ต๋๋ค.
2.5 Django View, URL ์์๋ณด๊ธฐ
Django ์ ๋ง์ง๋ง ๊ตฌ์ฑ ์์์ธ View์ URL์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
2.5.1 Django View๋
๋ทฐ๋ ๋ชจ๋ธ์ ํตํด ๋ฐ์ดํฐ์ ์ ๊ทผํ์ฌ ํ ํ๋ฆฟ์ผ๋ก๋ถํฐ ์์ฒญ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฝ์์ ํ ํ๋ฆฟ์๊ฒ ๋ต๋ณ์ผ๋ก ๋ณด๋ด์ค๋๋ค. ๋จผ
๋ทฐ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ค์ํฉ๋๋ค. ๊ฐ์ฅ ํฌ๊ฒ ๋๋๋ฉด ํจ์ํ ๋ทฐ์ ํด๋์คํ ๋ทฐ๋ก ๋๋ ๋ณผ ์ ์์ต๋๋ค.
ํด๋์คํ ๋ทฐ -> DRF ํ ๋ ์์๋ณด๋๋ก ํ๊ณ ,
๋ทฐ์ ๊ฐ๋ ์ ์ตํ๊ธฐ ์ํด ์ฌ์ด ํจ์ํ ๋ทฐ ํํ๋ก ์์ฑํด ๋ณด๊ฒ ์ต๋๋ค.
์ด์ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๋ง์ง๋ง ๋จ๊ณ์ด์ ํ๋ก ํธ์๋๊ฐ ๋ฐฑ์๋์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋๋ก ๋์์ฃผ๋ URL์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
2.5.2 Django URL์ด๋
์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ URL๊ณผ ํฌ๊ฒ ๋ค๋ฅด์ง ์์ต๋๋ค.
URL์ ๊ทธ๋์ ์น ๋ธ๋ผ์ฐ์ ์์ ์น ์ฌ์ดํธ๋ก ์ด๋ํ๊ธฐ ์ํด์๋ง ์ฌ์ฉํ์ ๋ฟ URL์ ๋ด๋ถ์ ์ผ๋ก ๋ง์ ์ผ์ ํ๊ณ ์์ต๋๋ค.
URL์ ์์ ๋ฐฐ์ด ๋ผ์ฐํ ์ ์ญํ ๊ณผ ๋์์ ์๋ฒ๋ก ํด๋น ์ฃผ์์ ํ ๋น๋ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ๋ ์ญํ ์ ํฉ๋๋ค.
์ด์ ๋ณธ๊ฒฉ์ ์ธ ๊ธฐ๋ฅ๋ค์ ๋ง๋ค์ด๋ณผ๊น์? ๋ชจ๋ธ -> ํ ํ๋ฆฟ -> ๋ทฐ -> URL ์์๋ก ํ ๊ฒ์ ๋๋ค.
2.6 ์๋น์ค ๊ธฐ๋ฅ ํ๋์ฉ ๊ตฌํํ๊ธฐ
2.6.1 ์ฌ์ง ๋ชฉ๋ก ํ๋ฉด ๋ง๋ค๊ธฐ
์ฌ์ง ๊ฒ์๋ฌผ๋ค์ ๋ณผ ์ ์๋ ๋ฉ์ธ ๋ชฉ๋ก ํ๋ฉด์ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
ํ ํ๋ฆฟ
ํ ํ๋ฆฟ์ ํ๋ฉด๋ง๋ค ํ์ผ ํ๋์ฉ ๋ง๋ค ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ํด๋๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ทฐ
๋ทฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด ํ ํ๋ฆฟ์ผ๋ก ์ ๋ฌํ๊ธฐ๋ ํ์ง๋ง, ํ ํ๋ฆฟ์ ๋ณด์ด๊ฒ ํ๋ ์ญํ ๋ ํ ์ ์์ต๋๋ค.
URL
๋ค์ runserver ํด๋ณด๊ณ , 127.0.0.1:8000์ผ๋ก ๋ค์ด๊ฐ๋ฉด ์์ ๊ฐ์ ํ๋ฉด์ด ๋์ต๋๋ค.
์์ง ๋ชจ๋ธ๊ณผ ์ฐ๊ฒฐ๋์ด ์์ง ์์ ์ค์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค์ง ์์ต๋๋ค.
ํ ํ๋ฆฟ
ํ ํ๋ฆฟ์์ ๋ทฐ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ค๋ฉด ํ ํ๋ฆฟ ํ๊ทธ๋ฅผ ํ์ฉํด์ผ ํฉ๋๋ค.
์ฌ์ง ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๊ฐ ๊ฐ์ ธ์ค๊ฒ ๋ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ๊ณ ๋ คํด ์ฌ๋ฌ ์ฅ์ ์ฌ์ง์ ๋ฐ๋ณต๋ฌธ ์ ํ๊ทธ๋ก ๊ฐ๋จํ ํํํด๋ณผ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ๊ฐ ๋ณ์์ ํํ๋ก ๋ฐ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
์ฌ์ง ์ฌ๋ฌ ์ฅ์ photos๋ผ๋ ์ด๋ฆ์ผ๋ก ๊ฐ์ ธ์ ์ด๋ฅผ ๋ฐ๋ณต๋ฌธ์ผ๋ก
ํ๋์ photo๋ก ์ฒ๋ฆฌํด photo.title, photo.image์ ๊ฐ์ด ๋ถ๋ฌ ์์ต๋๋ค.
์ด์ ๋ทฐ์์ photos๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ์ฃผ๋๋ก ์์ ํ๋ฉด ๋ฉ๋๋ค.
๋ทฐ
๋ทฐ์์ ๋ง์ง๋ง ์ธ์์ ์๋ {}์ ํ์ฉํ๋ฉด ํ ํ๋ฆฟ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ์ ์์ต๋๋ค.
{} ์์ ๋ฃ๊ณ ์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ์ ์ด๋ฆ๊ณผ ํจ๊ป ๋ณด๋ด์ฃผ๋ฉด ๋ฉ๋๋ค.
๊ทธ์ ์ ๋ชจ๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด์์ผ ํ ํ ๋ฐ, ์ด๋ Django์์ ์ ๊ณตํ๋ ORM๊ธฐ๋ฅ์ ํตํด
ํ์ด์ฌ ๋ฌธ๋ฒ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ๊ฒ๊ณผ ๋์ผํ ํจ๊ณผ๋ฅผ ๊ฐ๋๋ก ํฉ๋๋ค.
- Photo.objects.all() ์ ํตํด Photo ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๊ฐ์ ธ์๊ณ ,
์ด๋ฅผ {}์ ๋ฃ์ด์ ํ ํ๋ฆฟ์ผ๋ก ์ ๋ฌํ์์ต๋๋ค.
https://link.coupang.com/a/UtMUo
๋ฐฑ์๋๋ฅผ ์ํ Django REST Framework with ํ์ด์ฌ
COUPANG
www.coupang.com
"์ด ํฌ์คํ ์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก, ์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ต๋๋ค."