1son 2023. 4. 2. 08:04

์žฅ๊ณ ์˜ ๊ตฌ์„ฑ ์š”์†Œ ์ค‘ ํ•˜๋‚˜์ธ ํ…œํ”Œ๋ฆฟ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

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

 

"์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค."