Skip to content

Latest commit

ย 

History

History
23 lines (15 loc) ยท 2.08 KB

File metadata and controls

23 lines (15 loc) ยท 2.08 KB

1. MTV pattern

MTV๋Š” Django์˜ ๋””์ž์ธ ํŒจํ„ด์ž…๋‹ˆ๋‹ค. ๋””์ž์ธ ํŒจํ„ด์€ ํšจ์œจ์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋”ฉ ๊ทœ์น™, ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ์ •๋„๋กœ ์ดํ•ดํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, Django๋Š” Model, Template, View์˜ ์„ธ๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. Template๊ณผ View๋Š” ์ด์ „ ์„ธ์…˜์—์„œ ๋‹ค๋ฃจ์–ด๋ณด์•˜์ฃ . ์ด๋ฒˆ ์„ธ์…˜์—์„œ ๋งˆ์ง€๋ง‰์œผ๋กœ Model์„ ๋‹ค๋ฃจ์–ด๋ณผ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— MTV ํŒจํ„ด์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋ด…์‹œ๋‹ค.

Model

Model์€ Modeling์„ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง€๋Š” ์ถ”์ƒ์ ์ธ ๊ฐœ๋…์œผ๋กœ, Database์— ํ…Œ์ด๋ธ” ํ˜•ํƒœ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์„ค๊ณ„์ž…๋‹ˆ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด, ๋ชจ๋ธ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค.

๋ชจ๋ธ์€ ํ‹€์ด๊ณ , ๊ทธ ํ‹€๋กœ ์ฐ์–ด๋‚ธ ์ƒํ’ˆ ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ๊ฐ์ฒด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฉ”๋‰ดํŒ ๋ชจ๋ธ: ์Œ์‹์ด๋ฆ„, ๊ฐ€๊ฒฉ, ์นผ๋กœ๋ฆฌ
  • ๊ฐ์ฒด 1: ์‚ผ๊ฒน์‚ด ๊น€์น˜ ์ฒ ํŒ, 4800์›, 700kcal
  • ๊ฐ์ฒด 2: ์ฐธ์น˜๊น€๋ฐฅ, 2500์›, 400kcal ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋“ค์€ Database์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. DB๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณณ์ด์ฃ . ์›๋ž˜ DB๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด์„œ๋Š” SQL์ด๋ผ๋Š” ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์žฅ๊ณ ๋Š” ์ด SQL์„ ๋ชฐ๋ผ๋„ DB ์ž‘์—…์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ORM(Object Relation Mapping)์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ SQL๋ฌธ ์—†์ด ์šฐ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Template

Template์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” ์—ญํ• ์ž…๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ HTML ํŒŒ์ผ์ด ์žˆ๊ฒ ์ฃ .

View

View๋Š” ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. Client์˜ Request๋ฅผ ๋ฐ›๊ณ  ๊ทธ์— ๋งž๋Š” Response๋ฅผ ํ•˜๋Š” ๊ณณ์ด์ฃ . ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฉฐ MTV์— ํ•ต์‹ฌ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ํ•™๊ต์˜ ์ƒ๋ก์›์—์„œ ํ•™์‹์„ ๋จน๋Š” ์ƒํ™ฉ์œผ๋กœ ๋น„์œ ํ•ด ์‰ฝ๊ฒŒ ์ดํ•ด๋ฅผ ํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•™์ƒ์ด ๋ฉ”๋‰ด๋ฅผ ์ƒ๋ก์› ์ฃผ๋ฐฉ(View)์— ์ฃผ๋ฌธ(Request)ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ฃผ๋ฐฉ(View)์—์„œ๋Š” ์ฃผ๋ฌธ์— ๋งž๋Š” ๋ฉ”๋‰ด๋ฅผ ์ฐพ์•„ ํ•ด๋‹น ๋ฉ”๋‰ด๋ฅผ(Model) ๊ธฐ๋ณธ ๋ฐ˜์ฐฌ๋“ค์ด ์˜ฌ๋ ค์ ธ์žˆ๋Š” ์‹ํŒ(Template)์— ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ตœ์ข…์œผ๋กœ ์Œ์‹์ด ๋ชจ๋‘ ๋‹ด๊ธด ์‹ํŒ(Template)์„ ํ•™์ƒ์—๊ฒŒ ์ค๋‹ˆ๋‹ค.(Response)