์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.



๊ณต์‹ ํ™ˆํŽ˜์ด์ง€
1. ๊ฐœ์š”2. ํŠน์ง•3. ์—ญ์‚ฌ4. ์‚ฌ์šฉ ์ค‘์ธ ๊ณณ5. ๊ด€๋ จ ๋ฌธ์„œ

1. ๊ฐœ์š”[ํŽธ์ง‘]

Django๋Š” 2005๋…„๋ถ€ํ„ฐ ์‹œ์ž‘๋œ Python์˜ ์˜คํ”ˆ ์†Œ์Šค ์›น ํ”„๋ ˆ์ž„์›Œํฌ์ด์ž ํ’€ ์Šคํƒ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค.

Django์˜ ๋ฐœ์Œ ๊ธฐํ˜ธ๋Š” [หˆdส’รฆล‹ษกoสŠ]๋กœ ์Ÿ๊ณ ์šฐ ์ •๋„๋กœ ์ฝ์œผ๋ฉด ๋œ๋‹ค. ์ฐธ๊ณ ๋กœ D๋Š” ๋ฌต์Œ์ด๋‹ค. ๋Œ€ํ•œ๋ฏผ๊ตญ์—์„œ๋Š” ์žฅ๊ณ ๋กœ ์ฝ๋Š”๋ฐ, ๋™๋ช…์˜ ์„œ๋ถ€๊ทน ์˜ํ™” ๋•Œ๋ฌธ์— ์ข…์ข… ํ•œ๊ธ€ ํ‘œ๊ธฐ๋ฅผ '์Ÿ๊ณ '๋กœ ์“ฐ๊ธฐ๋„ ํ•œ๋‹ค.

Django ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ์€ ์†Œ์…œ ๋Œ“๊ธ€ ์„œ๋น„์Šค ๋””์Šค์ปค์Šค(Disqus)๋ฅผ ๋งŒ๋“  ๊ณณ์ด๊ธฐ๋„ ํ•˜๋‹ค. Python์„ ์ด์šฉํ•ด ์ œ์ž‘ํ•œ๋‹ค.

Django๋Š” Python ๊ธฐ๋ฐ˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘์— ๊ฐ€์žฅ ๋„๋ฆฌ ํผ์ ธ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํŒŒ์ด์ฌ์„ ์›น ์„œ๋น„์Šค์— ์“ด๋‹ค๊ณ  ํ•˜๋ฉด Django ๋˜๋Š” Flask๋ฅผ ์“ด๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ๋‘˜์˜ ์ฐจ์ด๋Š” ํ’€ ์Šคํƒ ํ”„๋ ˆ์ž„์›Œํฌ(Django)๋ƒ ์•„๋‹ˆ๋ƒ ์ •๋„.

MVT[1] ํŒจํ„ด์—์„œ Model์˜ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๋™์ด ํŽธํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ ธ ์žˆ๋‹ค.
๊ธฐ๋ณธ์ ์œผ๋กœ Model์— ํ•ด๋‹นํ•˜๋Š” DBMS๋Š” SQLite๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์–ด์žˆ์œผ๋ฉฐ, Django Admin ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์‰ฝ๊ฒŒ ์กฐํšŒ/ํŽธ์ง‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค.[2]
Django๊ฐ€ ์›น๋ธŒ๋ผ์šฐ์ €์˜ ์š”์ฒญ์„ ๋ฐ›์•˜์„ ๋•Œ ์š”์ฒญ์—์„œ ์‘๋‹ต๊นŒ์ง€์˜ ํ๋ฆ„์„ ์ž˜ ๋‚˜ํƒ€๋‚ธ ๋‹ค์ด์–ด๊ทธ๋žจ

2. ํŠน์ง•[ํŽธ์ง‘]

๊ฐ•๋ ฅํ•œ ํ’€์Šคํƒ ์›น ํ”„๋ ˆ์ž„์›Œํฌ๋‹ต๊ฒŒ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ๋“ค์ด ๋งŽ๋‹ค.
  • ORM์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•œ๋‹ค.
  • ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•œ๋‹ค.
  • ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋กœ์ง๋“ค์„ ๋ฌถ์–ด์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•œ๋‹ค.[3]
  • ๋งŒ๋“ค์–ด์ง„ ์—”ํ‹ฐํ‹ฐ์— ๋”ฐ๋ผ ๊ถŒํ•œ ๋ชฉ๋ก์„ ์•Œ์•„์„œ ์ œ๊ณตํ•œ๋‹ค.

3. ์—ญ์‚ฌ[ํŽธ์ง‘]

์žฅ๊ณ ๋Š” 2003~2004๋…„์— ๋กœ๋ Œ์Šค ์ €๋„-์›”๋“œ(Lawrence Journal-World)๋ผ๋Š” ์‹ ๋ฌธ์‚ฌ์˜ ์ธํ„ด ์›น ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜€๋˜ ์—์ด๋“œ๋ฆฌ์•ˆ ํ™€๋กœ๋ฐ”ํ‹ฐ(Adrian Holovaty)์™€ ์‚ฌ์ด๋จผ ์œŒ๋ฆฌ์Šจ(Simon Willison)์ด ํŒŒ์ด์ฌ์„ ์ด์šฉํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ ์ฒ˜์Œ ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค.

2003๋…„ ๋กœ๋ Œ์Šค ์‹ ๋ฌธ์‚ฌ์˜ ์›น์‚ฌ์ดํŠธ๋Š” PHP ๊ธฐ๋ฐ˜์œผ๋กœ ์“ฐ์—ฌ์กŒ์—ˆ๋Š”๋ฐ, ํ™€๋กœ๋ฐ”ํ‹ฐ์™€ ์œŒ๋ฆฌ์Šจ์€ ๋‹น์‹œ PHP ๋ฒ„์ „์€ ๊ฐ์ฒด์ง€ํ–ฅ์„ ์ง€์›ํ•˜์ง€ ์•Š์•„์„œ ๊ทœ๋ชจ๊ฐ€ ํฐ ์›น์‚ฌ์ดํŠธ์— ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ณ  ํ‰์†Œ์— ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ํŒŒ์ด์ฌ์œผ๋กœ ์›น ๊ฐœ๋ฐœ์„ ํ•˜๊ธฐ๋กœ ๊ฒฐ์‹ฌํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทœ๋ชจ๊ฐ€ ํฐ ์›น ๊ฐœ๋ฐœ์— ์ ํ•ฉํ•œ ํŒŒ์ด์ฌ ๋„๊ตฌ๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๊ณ  ์ƒˆ๋กญ๊ฒŒ ์žฅ๊ณ ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋œ ๊ฒƒ์ด๋‹ค.

๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ํ•  ๋•Œ ์‚ฌ์‹ค ์žฅ๊ณ ๋ฅผ ์›น ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๊ณ  ์ƒ๊ฐํ•œ ์ ์€ ์—†์—ˆ๊ณ , ๊ทธ๋ƒฅ CMS๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐœ๋ฐœ ๋‹น์‹œ์˜ ๊ธฐ์–ต๋“ค์„ ํ’€์–ด๋†“์€ ๊ธ€์„ ์ฝ๊ณ  ์‹ถ๋‹ค๋ฉด ์—ฌ๊ธฐ(์˜์–ด)์— ์‚ฌ์ด๋จผ ์œŒ๋ฆฌ์Šจ ๋ณธ์ธ์ด ์ง์ ‘ ์“ด ๊ธ€์ด ์žˆ๋‹ค. (๊ณต๋™ ๊ฐœ๋ฐœ์ž์ธ ์—์ด๋“œ๋ฆฌ์•ˆ๋„ ๋”ฐ๋ด‰์„ ๋ˆŒ๋ €๋‹ค!) ์žฅ๊ณ ๋ผ๋Š” ์ด๋ฆ„์€ ํ™€๋กœ๋ฐ”ํ‹ฐ๊ฐ€ ์ข‹์•„ํ•˜๋˜ ๊ธฐํƒ€๋ฆฌ์ŠคํŠธ ์žฅ๊ณ  ๋ผ์ธํ•˜๋ฅดํŠธ์—์„œ ๋”ฐ์˜จ ๊ฒƒ์ด๋ผ๊ณ  ํ•œ๋‹ค.

๋˜ํ•œ ์žฅ๊ณ ๋Š” ์‚ฌ์‹ค ์˜ค์ง ๋กœ๋ Œ์Šค ์›น์‚ฌ์ดํŠธ๋ฅผ ๊ตฌ๋™ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ ๊ฒƒ์ด์—ˆ์ง€๋งŒ, ํ™€๋กœ๋ฐ”ํ‹ฐ์™€ ์œŒ๋ฆฌ์Šจ์ด ๋กœ๋ Œ์Šค์˜ ์˜ค๋„ˆ ๊ธฐ์—…์ธ ๋” ์›”๋“œ ์ปดํผ๋‹ˆ(The World Company)๋ฅผ ์„ค๋“ํ•˜์—ฌ ์˜คํ”ˆ ์†Œ์Šค๋กœ 2005๋…„ 7์›”์— BSD ๋ผ์ด์„ ์Šค๋กœ ๊ณต๊ฐœํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์œŒ๋ฆฌ์Šจ์€ ๋” ์›”๋“œ ์ปดํผ๋‹ˆ๋„ ๋‹ค๋ฅธ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‰ฝ๊ฒŒ ์„ค๋“ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค๊ณ  ์–˜๊ธฐํ–ˆ๋‹ค.

4. ์‚ฌ์šฉ ์ค‘์ธ ๊ณณ[ํŽธ์ง‘]

  • ์ธ์Šคํƒ€๊ทธ๋žจ: ์„ธ๊ณ„์—์„œ ์ œ์ผ ํฐ ๊ทœ๋ชจ์˜ ์žฅ๊ณ  ์›น์‚ฌ์ดํŠธ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ๋Ÿฐ์ง€ ์žฅ๊ณ  ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ์— ๋งค๋…„ 3๋งŒ๋ถˆ ์ด์ƒ์„ ๊ธฐ๋ถ€ํ•˜๊ณ  ์žˆ๊ณ  2๊ฐœ์˜ ํ”Œ๋ž˜ํ‹ฐ๋„˜ ๋ฒ•์ธ ํšŒ์› ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” IntelliJ IDEA๋ฅผ ๋งŒ๋“  JetBrains.
  • 8ํผ์„ผํŠธ: P2P ๋Œ€์ถœ ์‚ฌ์ดํŠธ. ํ”„๋ŸฐํŠธ์—”๋“œ๋ฅผ IUEditor๋กœ ๊ฐœ๋ฐœํ•˜์˜€๋‹ค.
  • ์Šค๋งˆํŠธ์Šคํ„ฐ๋””: ํ•‘ํฌํ ๋ถ์Šคํ† ์–ด ๋“ฑ์ด Django๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค.
  • ํ”ผ์•Œ์•ค๋””์ปดํผ๋‹ˆ: ๋‚ด์ฐจํŒ”๊ธฐ์•ฑ ํ—ค์ด๋”œ๋Ÿฌ๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ๋‹ค.
  • ์œ„์‹œ์ผ“: IT ์•„์›ƒ์†Œ์‹ฑ ์ค‘๊ฐœ ์„œ๋น„์Šค.
  • ๋ฒˆ๊ฐœ์žฅํ„ฐ: C2C ํ”Œ๋žซํผ. Django ์™€ Flask๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.
  • ์ˆจ์€๊ณ ์ˆ˜: O2O ๊ณ ์ˆ˜ ๋งค์นญ ํ”Œ๋žซํผ. Django์™€ Vue.js๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.
  • ํ”ผํ”ŒํŽ€๋“œ: P2P ๊ธˆ์œต ํ”Œ๋žซํผ, Django๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.
  • ๋งˆ์ด๋ฎค์งํ…Œ์ด์ŠคํŠธ: ์ฝ˜์„œํŠธ ๋ฉ”์ดํ‚น ํ”Œ๋žซํผ, Django๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ global service๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค.
  • Laftel: ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค, Django๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.
  • ๋”œ๋ฆฌ๋ฒ„๋ฆฌํžˆ์–ด๋กœ์ฝ”๋ฆฌ์•„: ์š”๊ธฐ์š”, ๋ฐฐ๋‹ฌํ†ต ์„œ๋น„์Šค๋ฅผ ํ•˜๊ณ  ์žˆ๋Š” ํ‘ธ๋“œํ…Œํฌ ๊ธฐ์—…. Django๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.
  • SendBird: ์ฑ„ํŒ… API๋ฅผ ์ œ์ž‘ํ•˜๋Š” B2B ๊ธฐ์—…. Django๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.
  • ํˆฌ์–ด๋ผ์ด๋ธŒ: ์˜ค๋””์˜ค ํˆฌ์–ด ์„œ๋น„์Šค๋ฅผ ํ•˜๊ณ  ์žˆ๋Š” ํ…Œํฌ ํŠธ๋ ˆ๋ธ” ๊ธฐ์—…. Django๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.
  • ํ™”ํ•ด(๋ฒ„๋“œ๋ทฐ): No.1 ๋ชจ๋ฐ”์ผ ๋ทฐํ‹ฐ ํ”Œ๋žซํผ. Django์™€ React๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

5. ๊ด€๋ จ ๋ฌธ์„œ[ํŽธ์ง‘]

[1] Model-View-Template
[2] Setting.py์—์„œ DATABASE ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•˜๊ณ  migrate ํ•˜๋ฉด DBMS๋ฅผ PostgreSQL์ด๋‚˜ MySQL, MariaDB ๋“ฑ์œผ๋กœ ์‰ฝ๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.
[3] ์‚ฌ์šฉ์ž ์ธ์ฆ, django.shortcuts, Generic View, User model ๋“ฑ