๐Ÿš€ Languege/Django-Python

[Django #1] Django๋ž€ ๋ฌด์—‡์ธ๊ฐ€, ๊ธฐ๋ณธ ๊ฐœ๋… ์ตํžˆ๊ธฐ

mini_world 2021. 1. 14. 09:41
๋ชฉ์ฐจ ์ ‘๊ธฐ

 

์•ˆ๋…•ํ•˜์„ธ์š”!๐Ÿ™‹๐Ÿ™‹‍โ™€๏ธ

์ดˆ๋ณด๋ฅผ ์œ„ํ•œ (์ฆ‰, ๋‚˜ ์Šค์Šค๋กœ๋ฅผ ์œ„ํ•œ..ใ… ใ… ) Django!! ์‹œ๋ฆฌ์ฆˆ๋ฅผ ํฌ์ŠคํŒ… ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค!

๋จผ์ € ์ด ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—, ๊ฐœ๋…๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ์ดํ•ดํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

Django๋ž€?

Django ๊ณต์‹ํ™ˆํŽ˜์ด์ง€์—์„œ๋„ ์•„๋ž˜์™€ ๊ฐ™์€ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•œ๋งˆ๋””๋กœ, Python ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„ ์›Œํฌ ์ž…๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋น„ํ•ด ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์— ์ธ๊ธฐ๊ฐ€ ๋งŽ๊ณ   Python ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ธฐ๋•Œ๋ฌธ์— Python์„ ์ž˜ ์•Œ๊ณ ์žˆ๋Š” ์‚ฌ๋žŒ์—๊ฒŒ๋Š” ์‰ฝ๊ฒŒ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒ ์ฃ ! (Python ์–ธ์–ด ์ž์ฒด๋„ ์ดˆ๋ณด์ž๊ฐ€ ๋ฐฐ์šฐ๊ธฐ๋Š” ์‰ฝ์Šต๋‹ˆ๋‹ค.)

Django๋Š” ๋™์  ์›น์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.
๋™์  ์›น์‚ฌ์ดํŠธ๋ž€, ์‚ฌ์šฉ์ž์™€์˜ ์ธํ„ฐ๋ ‰์…˜์ด ๋ฒ ์ด์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์žUI, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์„ฑ์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ๋‚˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, Postgresql, Mysql, Oracle ๊ด€๊ณ„์—†์ด Django์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฐ”์ธ๋”ฉ์œผ๋กœ ์•„์ฃผ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ์ด๊ฒŒ ์•„์ฃผ ํฐ ์žฅ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž…, ์ธ์ฆ, CORS๋“ฑ์„ ์ œ๊ณตํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 
๋‹ค์‹œ๋งํ•ด, ์›น์„œ๋น„์Šค๋ฅผ ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ์ ์ธ ํ‹€์„ ๋‹ค ๊ฐ–์ถ”๊ณ  ์žˆ์–ด ๊ฐœ๋ฐœ ์‹œ๊ฐ„์ด ํฌ๊ฒŒ ๋‹จ์ถ•๋œ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค!!

Django๋Š” MTV(Model, Template, View) ํŒจํ„ด์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.  (MVC(Model, View, Contraller) ์™€ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.)


* Model : ๋ชจ๋ธ์€ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™” ํ•˜๊ณ  ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ๋…ผ๋ฆฌ์ ์ธ ๊ณ„์ฆ์ž…๋‹ˆ๋‹ค.
models.py์— ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. MVC๋ชจ๋ธ์—์„œ์˜ Model๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 

* Template : ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์›น์•ฑ์˜ /template/*.html๋กœ ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค. MVC๋ชจ๋ธ์—์„œ์˜ View์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. 

* View: ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ๋กœ์ง์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. MVC๋ชจ๋ธ์—์„œ์˜ Controller์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. 


๊ทธ๋Ÿผ, ์‚ฌ์šฉ์ž์™€ ์„œ๋ฒ„๊ฐ„์˜ ์š”์ฒญ-์‘๋‹ต ๋กœ์ง์€ ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”?

์ถœ์ฒ˜: https://learnbatta.com/blog/understanding-request-response-lifecycle-in-django-29/

๋จผ์ € ์‚ฌ์šฉ์ž ์š”์ฒญ์ด ์˜ค๋ฉด,
1. Django์—์„œ Request๋ฅผ ํ™•์ธํ•˜๊ณ 
2. URL conf ํŒŒ๋ผ๋ฉ”ํ„ฐ๋ฅผ ํ™•์ธํ•œํ›„์—
3. urls.pyํŒŒ์ผ์„ ๋ณด๊ณ  URL์— ๋งคํ•‘๋œ View๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค
4. views.pyํŒŒ์ผ์— ์ •์˜๋œ ๋ฉ”์†Œ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ 
5. template์— ๋ Œ๋”๋งํ•˜์—ฌ ์ตœ์ข… HTML ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.


 

๋„ˆ๋ฌด ์–ด๋ ค์šด๋ฐ ใ… ใ…  ์ด์ œ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐ€๋ฉด์„œ, ์‹ค์Šตํ•˜๋ฉด์„œ ์ดํ•ดํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :)

728x90