์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
BEST

Vue.js - Django ์—ฐ๋™ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Vue.js ์™€ Django ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[์›น ๊ฐœ๋ฐœ, ํ’€์Šคํƒ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • Vue.js์™€ Django์˜ ์—ฐ๋™

  • ToDo ์•ฑ ๊ฐœ๋ฐœ

  • ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๋ Œ๋”๋ง์˜ ์ฐจ์ด์ 

  • CSRF ํ† ํฐ ์ฒ˜๋ฆฌ

  • Bootstrap๊ณผ FontAwesome์„ ํ™œ์šฉํ•œ ์›น ๋””์ž์ธ

  • axios๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ

     Vue 3.x ์™€ Django 5.x ์ตœ์‹  ์†Œ์Šค ์ œ๊ณต ํ•ฉ๋‹ˆ๋‹ค.       

     ๋ฒ„์ „ ์ฐจ์ด์— ๋”ฐ๋ฅธ ํ˜„ํ–‰ํ™” ๊ฐ€์ด๋“œ ์˜์ƒ ์—…๋กœ๋“œ ํ–ˆ์Šต๋‹ˆ๋‹ค. (์„น์…˜-0)       

Vue.js - Django ์—ฐ๋™ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋‹ค์–‘ํ•œ ์–ธ์–ด์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ ์ค‘์—์„œ ํ”„๋ก ํŠธ์—”๋“œ์— ์ตœ์ ํ™”๋œ Vue.js, ๋ฐฑ์—”๋“œ์— ์ตœ์ ํ™”๋œ Django ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ™œ์šฉํ•˜๋ฉด, ์ตœ์ƒ์˜ ์กฐํ•ฉ์œผ๋กœ ํšจ์œจ์ ์œผ๋กœ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‘˜ ๋‹ค ์‰ฝ๊ณ  ๋น ๋ฅด๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ณธ ๊ฐ•์ขŒ์—์„œ๋Š” Vue.js์˜ ์ค‘๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์ธ Vue Router, Vuex ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„, ๋˜ Django์˜ ์ค‘๊ณ ๊ธ‰ ํŒจํ‚ค์ง€์ธ Django Rest Framework ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„, Vue.js - Django๊ฐ„์— JSON ์—ฐ๋™ ๋ฐฉ์‹์œผ๋กœ todo ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ณผ์ •๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.


์ด ๊ณผ์ •์—์„œ, Client Rendering ๊ณผ Server Rendering ์˜ ์žฅ๋‹จ์ ์„ ์•Œ๊ฒŒ ๋˜๊ณ , Django์˜ ํด๋ž˜์Šคํ˜•๋ทฐ๋ฅผ ์‹ฌ์ธต ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ณด๋„ˆ์Šค ํšจ๊ณผ๋„ ์žˆ๋‹ค.

๋ณดํ†ต์˜ Single Page Application ์—ฐ๋™๋ฐฉ์‹์— ๋น„ํ•ด, ๋ณธ ๊ฐ•์˜ ์žฅ์  ์ž…๋‹ˆ๋‹ค.

  • Vue-Django ์—ฐ๋™ ๋ฐฉ์‹์ด๋ฉด์„œ๋„, VueRouter/Vuex/DRF ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.
  • Vue-Django ์—ฐ๋™ ๋ฐฉ์‹์ด๋ฉด์„œ๋„, Django ์˜ Admin ๊ธฐ๋Šฅ์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • Django ๋ฅผ API ์„œ๋ฒ„๋งŒ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, ํ…œํ”Œ๋ฆฟ ์ฒ˜๋ฆฌ๋„ ๋™์‹œ์— ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 ํ•™์Šต ๋ชฉํ‘œ

  • Vue.js์™€ Django ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋„์›€์ด ๋˜๋Š” ๋ถ„๋“ค

  • Djangoํ”„๋กœ์ ํŠธ์—, Vue.js ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฐœ๋ฐœ์ž
  • Vue.js๋Š” ์•Œ์ง€๋งŒ, ์ถ”๊ฐ€๋กœ Django๋ฅผ ํ•™์Šตํ•˜๋ ค๋Š” ๊ฐœ๋ฐœ์ž
  • Django ํด๋ž˜์Šคํ˜•๋ทฐ๋ฅผ ์ข€ ๋” ํ™œ์šฉํ•˜๋ ค๋Š” ๊ฐœ๋ฐœ์ž
  • Vue axios, Django JsonResponse ๊ธฐ๋Šฅ์„ ํ•™์Šตํ•˜๋ ค๋Š” ๊ฐœ๋ฐœ์ž

์ฐธ๊ณ  ์‚ฌํ•ญ
  • Vue.js์™€ Django์— ๋Œ€ํ•œ ๊ฐ•์˜ ๋‚ด์šฉ ๋น„์œจ์€ ๋Œ€๋žต 3:7 ์ •๋„ ์ž…๋‹ˆ๋‹ค.
  • ๊ฐ•์˜์˜์ƒ์€ Vue 2.x / Django 2.x ๋ฒ„์ „์ด์ง€๋งŒ, Vue 3.x / Django 5.x ์†Œ์Šค๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ๊ฐ•์˜ ๋ฒ”์œ„์—์„œ๋Š” ๋‘ ๋ฒ„์ „๊ฐ„ ์ฐจ์ด๋Š” ๊ฑฐ์˜ ์—†๋Š” ํŽธ ์ž…๋‹ˆ๋‹ค.
  • Vue.js๋Š” VSCode, Django๋Š” PyCharm ๊ฐœ๋ฐœํˆด์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์„ ํ–‰ ์ง€์‹
  • Vue.js (์ž…๋ฌธ) : v-if, v-for ๋“ฑ์˜ directive ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ค€
  • Django (์ดˆ๊ธ‰) : ์žฅ๊ณ  ํŠœํ† ๋ฆฌ์–ผ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ค€

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ์›น ๊ฐœ๋ฐœ ์ดˆ๋ณด์ž

  • ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ ํ†ตํ•ฉ ๊ฐœ๋ฐœ์„ ๋ฐฐ์šฐ๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ

  • ์‹ค์ œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ์‹ค์Šตํ•˜๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ

  • Vue.js์™€ Django๋ฅผ ํ™œ์šฉํ•œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ๊ด€์‹ฌ ์žˆ๋Š” ์‚ฌ๋žŒ

์•ˆ๋…•ํ•˜์„ธ์š”
๊น€์„ํ›ˆ์ž…๋‹ˆ๋‹ค.

2,069

๋ช…

์ˆ˜๊ฐ•์ƒ

151

๊ฐœ

์ˆ˜๊ฐ•ํ‰

224

๊ฐœ

๋‹ต๋ณ€

4.6

์ 

๊ฐ•์˜ ํ‰์ 

5

๊ฐœ

๊ฐ•์˜

ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์€ C ์–ธ์–ด๋กœ ์‹œ์ž‘ํ–ˆ์œผ๋ฉฐ, ์ž๋ฐ”๋ฅผ ๊ฑฐ์ณ ์ตœ๊ทผ์—๋Š” ์ฃผ๋กœ ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.
KT ucloud ์„œ๋น„์Šค์˜ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜์—ฌ, ์ž๋ฐ”๋กœ ๊ณ ๊ฐ์˜ ํด๋”/ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ฉ”ํƒ€ ์ •๋ณด ์ฒ˜๋ฆฌ ์—”์ง„์„, ํŒŒ์ด์ฌ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ ํ‘ธ์‹œ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜์˜€๋‹ค.

๋˜ํ•œ KT์ธํ„ฐ๋„ท ํšŒ์„ ์˜ ์†๋„ ์ธก์ • ํ”„๋กœ๊ทธ๋žจ, ๋„คํŠธ์›Œํฌ ์žฅ๋น„์— ๋Œ€ํ•œ ์šด์šฉ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ, ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ํŠธ๋ž˜ํ”ฝ ๋ฐ์ดํ„ฐ ๋ถ„์„ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•œ ๋ฐ” ์žˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ๋Š” ํŒŒ์ด์ฌ์˜ ๋งค๋ ฅ์— ํ‘น ๋น ์ ธ ๋˜๋„๋ก์ด๋ฉด ํŒŒ์ด์ฌ์œผ๋กœ ์ฝ”๋”ฉํ•˜๊ธฐ๋ฅผ ์ฆ๊ฒจํ•˜๊ณ  ์žˆ๋‹ค.

๊ทธ ์ผํ™˜์œผ๋กœ ์š”์ฆ˜์€ Django๋ฅผ ํ™œ์šฉํ•œ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ, Django Rest Framework๋ฅผ ํ™œ์šฉํ•œ JSON ์—ฐ๋™, Pandas๋ฅผ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ๋ถ„์„, Scikit-learn/Tensorflow/ChatGPT ๋ฅผ ํ™œ์šฉํ•œ AI ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ ๋“ฑ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ํŒŒ์ด์ฌ์˜ ํ™œ์šฉ๋„๋ฅผ ๋„“ํ˜€๊ฐ€๊ณ  ์žˆ๋‹ค.

< ์ €์„œ >

1. Django ๋กœ  ๋ฐฐ์šฐ๋Š” ํŒŒ์ด์ฌ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ (์ดˆํŒ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015.4์›”)
2. Django ๋ฅผ ํ™œ์šฉํ•œ ํŒŒ์ด์ฌ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ์‹ค์ „ํŽธ (์ดˆํŒ, ํ•œ๋น›๋ฏธ๋””์–ด, 2016. 7์›”)
3. Django ๋กœ  ๋ฐฐ์šฐ๋Š” ํŒŒ์ด์ฌ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ (๊ฐœ์ •ํŒ, ํ•œ๋น›๋ฏธ๋””์–ด, 2018. 8์›”)
4. Django ๋ฅผ ํ™œ์šฉํ•œ ํŒŒ์ด์ฌ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ์‹ค์ „ํŽธ (๊ฐœ์ •ํŒ, ํ•œ๋น›๋ฏธ๋””์–ด, 2019. 11์›”)
5. Django ๋กœ  ๋ฐฐ์šฐ๋Š” ํŒŒ์ด์ฌ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ (3ํŒ, ํ•œ๋น›๋ฏธ๋””์–ด, 2022. 11์›”)

 

< ๋™์˜์ƒ ๊ฐ•์˜ >

1. Vue.js - Django ์—ฐ๋™ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ (์ธํ”„๋Ÿฐ ๋™์˜์ƒ, 2019.4์›”)
2. Vue.js - Django ์—ฐ๋™ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ์‹ค์ „ํŽธ (์ธํ”„๋Ÿฐ ๋™์˜์ƒ, 2020.9์›”)
3. Vue - Django - Bootstrap ๋š๋”ฑ ๋ธ”๋กœ๊ทธ (์ธํ”„๋Ÿฐ ๋™์˜์ƒ, 2021. 9์›”)
4. Django REST framework ํ•ต์‹ฌ์‚ฌํ•ญ (์ธํ”„๋Ÿฐ ๋™์˜์ƒ, 2022.2์›”)
5. AI Web Programming (์ธํ”„๋Ÿฐ ๋™์˜์ƒ, 2024.2์›”)

๋”๋ณด๊ธฐ

๊ณต๋™ ์ง€์‹๊ณต์œ ์ž

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

37๊ฐœ โˆ™ (4์‹œ๊ฐ„ 41๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!