1son 2023. 3. 30. 09:03

์ €์ž์˜ ํ™˜๊ฒฝ๊ณผ ๋™์ผํ•˜๊ฒŒ ํŒŒ์ด์ฌ 3.10.1์„ ์„ค์น˜ํ•ด์ค๋‹ˆ๋‹ค. 

 

 

ํด๋”๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ทธ ํด๋”์— ๋“ค์–ด๊ฐ€ 

vscode์—์„œ ํ™œ์„ฑํ™” ์‹œ์ผœ์ค๋‹ˆ๋‹ค. 

 

๊ฐ€์ƒ ํ™˜๊ฒฝ์ด ํ™œ์„ฑ๋˜์—ˆ์œผ๋‹ˆ ์ด์ œ Django๋ฅผ ์„ค์น˜ํ•  ๋•Œ ์ž…๋‹ˆ๋‹ค. 

 

 

๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰์‹œํ‚จ ๊ฒฐ๊ณผ myweb์ด๋ผ๋Š” ํด๋”์™€ manage.pyํŒŒ์ผ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค!

์—ฌ๊ธฐ์— ์•ฑ์ด๋ผ๋Š” ๊ฒƒ์„ ์ถ”๊ฐ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 

2.2 Django ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ์‚ดํŽด๋ณด๊ธฐ 

 

 

2.2.1 Django ํ”„๋กœ์ ํŠธ์™€ ์•ฑ

Django์—์„œ ์•ฑ์€ ํ”„๋กœ์ ํŠธ ๋‚ด ๊ธฐ๋Šฅ๊ณผ ๊ฐ™์€ ์š”์†Œ๋“ค์„ ์ผ์ •ํ•œ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ  ๋†“์€ ๋‹จ์œ„๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. 

 

์˜ˆ๋ฅผ ๋“ค์–ด, ํŽ˜์ด์Šค๋ถ์€ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. 

ํ”„๋กœ์ ํŠธ๋ฅผ ํฌ๊ฒŒ ๋‚˜๋ˆด์„ ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆ ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

 

ํšŒ์› ๊ด€๋ จ ๋‚ด์šฉ -> ๊ฐ€์ž…/๋กœ๊ทธ์ธ/์นœ๊ตฌ ๋งบ๊ธฐ ํ”ผ๋“œ ๊ด€๋ จ ๋‚ด์šฉ -> ๊ธ€์“ฐ๊ธฐ ์‚ญ์ œํ•˜๊ธฐ/์ˆ˜์ •ํ•˜๊ธฐ/๊ณต์œ ํ•˜๊ธฐ

 

์šฐ๋ฆฌ๊ฐ€ ์ด๋ ‡๊ฒŒ ๋‚˜๋ˆ ๋†“์€ ๊ทธ๋ฃน ํ•˜๋‚˜๋ฅผ ์•ฑ์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

 

 

2.2.2 Django ํ”„๋กœ์ ํŠธ ์„ค์ • ๋งˆ๋ฌด๋ฆฌํ•˜๊ธฐ 

๋ฐฉ๊ธˆ ๋งŒ๋“  ์•ฑ์„ ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ , ์‹œ๊ฐ„๋Œ€๋ฅผ ํ•œ๊ตญ์œผ๋กœ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. 

 

2.2.3 Django ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ์š”์†Œ ์‚ดํŽด๋ณด๊ธฐ 

์ „๋ฐ˜์ ์ธ ๊ตฌ์กฐ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 

 

- manage.py ํŒŒ์ผ์€ ์šฐ๋ฆฌ๊ฐ€ ๊ฑด๋“œ๋ฆด ์ผ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ์ € ์šฐ๋ฆฌ์˜ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ํŒŒ์ผ์ด๋ผ๊ณ ๋งŒ ์•Œ๊ณ  ๋„˜์–ด๊ฐ€๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. 

- mywebํด๋”์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํŒŒ์ผ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์•ž์œผ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ํŒŒ์ผ์€ mysite/settings.py์™€ mysite/urls.py ๋ฟ์ž…๋‹ˆ๋‹ค. 

- mysite/settings.py: ํ”„๋กœ์ ํŠธ์˜ ์„ค์ • ํŒŒ์ผ _ ์˜ต์…˜ ๋ช‡๊ฐ€์ง€ ์žˆ๋‹ค. 

- mysite/urls.py ํŒŒ์ผ์€ ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์˜ url ์ฃผ์†Œ๋ฅผ ๋“ฑ๋กํ•ด๋†“๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. 

 

 

2.2.4 Django ์•ฑ ๊ตฌ์กฐ๋กœ ์•Œ์•„๋ณด๋Š” MTV ํŒจํ„ด

photo ํด๋”๋ฅผ ์‚ดํŽด๋ณด๋ฉด 6๊ฐœ์˜ ํŒŒ์ด์ฌ ํŒŒ์ผ๋“ค๊ณผ migrations๋ผ๋Š” ํด๋”๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

์ด ํŒŒ์ผ๋“ค์ด ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„  MTV ํŒจํ„ด์— ๋Œ€ํ•ด ์ดํ•ดํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

Django์—์„œ๋Š” MTV ํŒจํ„ด์œผ๋กœ ์ „๋ฐ˜์ ์ธ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 

 

๊ฐœ๋ฐœ ํŒจํ„ด์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ค‘์—์„œ๋„ ์ง๊ด€์ ์ด๋กœ ๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ๊ฐ€ ๋ฐ”๋กœ MTVํŒจํ„ด์ž…๋‹ˆ๋‹ค. 

 

Model -> ์•ฑ์˜ ๋ฐ์ดํ„ฐ 

Template -> ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์ด๋Š” ๋ถ€๋ถ„

View -> Model์˜ ๋ฐ์ดํ„ฐ๋ฅผ Template ์—๊ฒŒ ์ „๋‹ฌํ•˜๊ณ  Template์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ์ €๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. 

 

 

2.3 Django Model ์•Œ์•„๋ณด๊ธฐ

 

Django ์˜  ๊ตฌ์„ฑ์š”์†Œ ์ค‘ ํ•˜๋‚˜์ธ model์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 

 

 

2.3.1 Migration ์—๋Ÿฌ ์ˆ˜์ •ํ•˜๊ธฐ 

๋ชจ๋ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์ „์— ์—๋Ÿฌ๋ฅผ ๊ณ ์ณ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์€ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ ์šฉ์‹œํ‚จ๋‹ค๋Š” ๋œป์ธ๋ฐ, ์ด๋Š” ๋‚˜์ค‘์— ์šฐ๋ฆฌ๊ฐ€ ์ง์ ‘ ๋ชจ๋ธ์„ ๋งŒ๋“ค ๋•Œ ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 

 

2.3.2 ์–ด๋“œ๋ฏผ ํŽ˜์ด์ง€ ๋“ค์–ด๊ฐ€๋ณด๊ธฐ 

 

-> Django์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ์ž…๋‹ˆ๋‹ค. 

 

๊ด€๋ฆฌ์ž ๊ณ„์ •์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฝ˜์†”์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

 

๋กœ๊ทธ์ธ์— ์„ฑ๊ณตํ•˜๋ฉด ์œ„์™€ ๊ฐ™์€ ๊ด€๋ฆฌ์ž ํ™”๋ฉด์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. 

 

2.3.3 ๋ชจ๋ธ์ด๋ž€

Django์—์„œ ๋ชจ๋ธ์€ ์•ž์„œ ๊ฐ„๋‹จํžˆ ์‚ดํŽด๋ดค๋“ฏ, ์•ฑ์˜ ๋ฐ์ดํ„ฐ์™€ ๊ด€๋ จ๋œ ๋ถ€๋ถ„์„ ๋‹ค๋ฃจ๋Š” ์˜์—ญ์ž…๋‹ˆ๋‹ค. 

๋ชจ๋ธ์„ ์กฐ๊ธˆ ๋” ์ž์„ธํžˆ ์ดํ•ดํ•ด ๋ณด์ž๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋  ๋ฐ์ดํ„ฐ์˜ ๋ชจ์–‘์„ ์ •์˜ํ•˜๊ณ 

๊ด€๋ จ๋œ ์ผ๋ถ€ ๊ธฐ๋Šฅ๋“ค์„ ์„ค์ •ํ•ด์ฃผ๋Š” ์˜์—ญ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค. 

 

 

๋ชจ๋ธ์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๋Š” ๋ฒ•์€? 

ํ˜„์‹ค ์„ธ์ƒ์„ ์ฝ”๋“œ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ณผ์ •์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ,

 

๋ชจ๋ธ์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉ์‹œํ‚ค๋ฉด ๊ทธ๊ฒƒ์€ ํ…Œ์ด๋ธ”์ด ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

์—ฌ๊ธฐ์„œ ๋ชจ๋ธ์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉ์‹œํ‚ค๋Š” ๊ณผ์ •์„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 

 

๋ชจ๋ธ์„ ๋งŒ๋“ค๊ณ  ํ•จ๊ป˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ•˜๋ฉด์„œ ์•Œ์•„๋ด…์‹œ๋‹ค!

 

2.3.4 Django ๋ชจ๋ธ ๋งŒ๋“ค๊ธฐ 

๋ชจ๋ธ์„ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

์ด ํด๋ž˜์Šค๋Š” models.py ์—์„œ ์ž‘์„ฑํ•  ๊ฒƒ์ด๊ณ , 

๋ชจ๋ธ ํด๋ž˜์Šค์—์„œ๋Š” ์†์„ฑ์„ ์ •์˜ํ•˜๊ณ  ๊ฐ ์†์„ฑ์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์„ค์ •์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 

 

์œ„์ฒ˜๋Ÿผ ์‚ฌ์ง„ ๋ชจ๋ธ์„ Photo๋ผ๋Š” ํด๋ž˜์Šค๋กœ ์ •์˜ํ•˜์˜€๋Š”๋ฐ, ์ผ๋ฐ˜์ ์ธ ํด๋ž˜์Šค์™€ ์‚ด์ง ๋‹ค๋ฅธ ์ ์€ 

- models.Model์„ ์ƒ์†๋ฐ›์•˜๋‹ค๋Š” ์ ๊ณผ 

- ๊ฐ ์†์„ฑ์„ models๋ฅผ ์‚ฌ์šฉํ•ด ์ •์˜ํ•˜์˜€๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. 

 

๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ๋ชจ๋ธ์„ ๋งŒ๋“ค ๋•Œ models.Model์ด๋ผ๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์•„์„œ ๊ทธ ๊ธฐ๋Šฅ์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ๋‹ค ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

 

2.3.5 Django ๋ชจ๋ธ ์ ์šฉ์‹œํ‚ค๊ธฐ

Django์—์‚ฌ ๋ชจ๋ธ์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉ์‹œํ‚ค๋Š” ๊ณผ์ •์„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด๋ผ๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. 

์šฐ๋ฆฌ๋Š” ๋ชจ๋ธ์— ๋ณ€ํ™”๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด๋ผ๊ณ  ํ•˜๋Š” ๊ณผ์ •์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ์— ๋ชจ๋ธ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉ์‹œํ‚ต๋‹ˆ๋‹ค. 

 

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด๋ผ๋Š” ํฐ ๊ณผ์ •์„ ์„ธ๋ถ„ํ™”ํ•˜์—ฌ ์‚ดํŽด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 

1. makemigrations : ์šฐ๋ฆฌ๊ฐ€ ๋ชจ๋ธ์„ ๋ณ€๊ฒฝํ•œ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•˜์—ฌ ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.
2. migrate : makemigrations์—์„œ ์ƒ์„ฑ๋œ ํŒŒ์ผ์„ ์‹ค์ œ๋กœ ์‹คํ–‰์‹œ์ผœ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉ์‹œ์ผœ์ฃผ๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.  

์ €๋Š” ๋ณ€๊ฒฝํ•œ๊ฒŒ ์—†์œผ๋‹ˆ ์ด๋ ‡๊ฒŒ ๋œจ๋„ค์š” ์•”ํŠผ, 

 

์ด๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ข‹์„๊นŒ์š”?

Django์˜ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์ธ ์–ด๋“œ๋ฏผ ํŽ˜์ด์ง€์—์„œ ์ด๋ฅผ ์•„์ฃผ ๊ฐ„๋‹จํžˆ ํ™•์ธํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

2.3.6 Django ๋ชจ๋ธ ์–ด๋“œ๋ฏผ ํŽ˜์ด์ง€ ์ ์šฉ

 

์–ด๋“œ๋ฏผ ํŽ˜์ด์ง€์— Photo ๋ชจ๋ธ์„ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. 

 

๋‹ค์Œ๊ณผ ๊ฐ™์ด Photo ํƒญ ์•ˆ์— Photo ๋ผ๋Š” ๋ชจ๋ธ์„ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” Photos ๋งํฌ๊ฐ€ ์ƒ๊ฒจ๋‚ฌ์Šต๋‹ˆ๋‹ค. 

 

save๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค. 

 

๋ชฉ๋กํ™”๋ฉด์œผ๋กœ ๋Œ์•„์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๊ณ  ์šฐ๋ฆฌ๊ฐ€ ๋ฐฉ๊ธˆ ๋“ฑ๋กํ•œ ์‚ฌ์ง„๊นŒ์ง€ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„ค์š”.

 

์—ฌ๊ธฐ๊นŒ์ง€ ์•„์ฃผ ๊ธฐ๋ณธ์ ์ธ Django์˜ ๋ชจ๋ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. 

์‹ค์ œ๋กœ ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•  ๋ชจ๋ธ์€ ์กฐ๊ธˆ ๋” ๋ณต์žกํ•˜๊ณ , ๊ธฐ๋Šฅ๋„ ์ถ”๊ฐ€ํ•˜๋Š” ๋“ฑ ์ข€ ๋” ์–ด๋ ค์›Œ์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

 

์ด์ œ MTV์˜ 3์š”์†Œ ์ค‘ Model์„ ์‚ดํŽด๋ณด์•˜์œผ๋‹ˆ ๋‹ค์Œ์€ Template์„ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.