MVT


๐Ÿ’ก MVC

์šฐ์„  MVT ํŒจํ„ด์„ ์•Œ๊ธฐ์ „ MVCํŒจํ„ด์„ ์•Œ์•„๋ณด์•˜๋‹ค.

MVC ํŒจํ„ด์ด๋ž€?

  • ๋””์ž์ธ ํŒจํ„ด์ค‘์— ํ•˜๋‚˜๋กœ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ Model, View, Controller๋กœ ๊ตฌ์„ฑํ•˜๋Š” ํŒจํ„ด

  • ๊ฐ๊ฐ์˜ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ๋‹ค๋ฅธ ์š”์†Œ๋“ค์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์•„์•ผํ•œ๋‹ค.


1. Model
  • ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋กœ์ง ๋˜ํ•œ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.


2. View
  • ํ™”๋ฉด์— ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฌผ์„ ๋ณด์—ฌ์ฃผ๋Š” ์—ญํ™œ์„ํ•œ๋‹ค.

  • ์ธํ„ฐํŽ˜์ด์Šค ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.


3. Controller
  • Model ๊ณผ View์˜ ์—ฐ๊ฒฐ๊ณ ๋ฆฌ

  • user์˜ request์— ๋”ฐ๋ผ ๋ชจ๋ธ์—๊ฒŒ ์ ์ ˆํ•œ ๋กœ์ง์„ ์ž‘๋™ํ•˜๋„๋ก ์•Œ๋ ค์ฃผ๊ณ ,

    ๋ชจ๋ธ์ด response ํ•œ ๋’ค์—, ๊ทธ ์‘๋‹ต์„ View์—๊ฒŒ ์ „๋‹ฌํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ์ค‘๊ฐ ๋‹ค๋ฆฌ ์—ญํ™œ.



๐Ÿ’ก MVT

MVT๋Š” Django์˜ ๋””์ž์ธ ํŒจํ„ด์œผ๋กœ MVC์™€ ๋น„์Šทํ•˜์ง€๋งŒ ๊ณ ์œ ์˜ ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.


1. Model
  • MVC ํŒจํ„ด์˜ Model์— ๋Œ€์‘๋˜๋ฉฐ DB์— ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

  • ๋ชจ๋ธ์€ ํด๋ž˜์Šค๋กœ ์ •์˜๋˜๋ฉฐ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๊ฐ€ ํ•˜๋‚˜์˜ DB Table์ด๋‹ค.

  • ์›๋ž˜ DB๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด์„œ๋Š” SQL์„ ์กฐ์ž‘ํ•ด์•ผํ•˜์ง€๋งŒ

    django๋Š” ORM์ด ๋‚ด์žฅ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ด์ฌ ์ฝ”๋“œ๋กœ ์กฐ์ž‘ ๊ฐ€๋Šฅํ•˜๋‹ค.


2. Template
  • MVC์˜ View์— ํ•ด๋‹นํ•˜๋Š” ๋‚ด์šฉ.

  • User์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” ํ™”๋ฉด์„ ์˜๋ฏธ.

  • ์ž์ฒด์ ์ธ Django Template ๋ฌธ๋ฒ•์„ ์ง€์›.

  • html ํŒŒ์ผ ๋‚ด์—์„œ context๋กœ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉ ๊ฐ€๋Šฅ.

  • ๋ณต์žกํ•œ ๋ฌธ์ž์—ด ์กฐํ•ฉ์„ ๋„์™€์ค€๋‹ค.

  • html์„ ํ…œํ”Œ๋ฆฟ์ด๋ผ๊ณ  ์นญํ•œ๋‹ค.


3. View
  • MVC ํŒจํ„ด์˜ Controller์— ํ•ด๋‹นํ•œ๋‹ค.

  • HTTP ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜

  • ์š”์ฒญ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋ Œ๋”๋งํ•˜๋ฉฐ ์‘๋‹ต.


4. URL Conf(URL ์„ค๊ณ„)
  • django์—๋งŒ ์žˆ๋‹ค.

  • URLํŒจํ„ด์„ ์ •์˜ํ•˜์—ฌ ํ•ด๋‹นURL๊ณผ View๋ฅผ ๋งคํ•‘ํ•˜๋Š” ๋‹จ๊ณ„

  • ํด๋ผ์ด์–ธํŠธ๋กœ ๋ถ€ํ„ฐ ๋ฐ›์€ ์š”์ฒญ์— ๋“ค์–ด์žˆ๋Š” URL์ด url.pyํŒŒ์ผ์— ์ •์˜๋œ URLํŒจํ„ด๊ณผ ๋งค์นญ๋˜๋Š”์ง€๋ฅผ ๋ถ„์„ํ•œ๋‹ค.



๐Ÿ’ก ํ๋ฆ„

๏ผ‘. ์œ ์ €๊ฐ€ ํŠน์ • url๋กœ ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

๏ผ’. URLConf๋ฅผ ํ†ตํ•ด ํ•ด๋‹น url๊ณผ ๋งคํ•‘๋œ view๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

๏ผ“. ํ˜ธ์ถœ๋œ view๋Š” ์š”์ฒญ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ๊ทธ ๊ณผ์ •์—์„œ model์—๊ฒŒ CRUD๋ฅผ ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค.

๏ผ”. model์€ ORM์„ ํ†ตํ•ด DB์™€ ์†Œํ†ตํ•˜๋ฉฐ CRUD๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๏ผ•. ๊ทธ ํ›„ view๋Š” ์ง€์ •๋œ Template์„ ๋ Œ๋”๋งํ•˜๊ณ 

๏ผ–. ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ์‘๋‹ต์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.