concept - pai-plznw4me/django-initializer GitHub Wiki

Django concept

Django ๋ž€?

  • high-level Python web framework

Django ํŠน์ง•

  • ORM (Object-Relational Mapping)
  • ์ž๋™ํ™”๋œ ๊ด€๋ฆฌ์ž ์ธํ„ฐํŽ˜์ด์Šค: Django๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๊ด€๋ฆฌ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑ
  • URL ํŒจํ„ด ๋งคํ•‘ ๋ฐ ๋ผ์šฐํŒ…: URL ํŒจํ„ด์„ ์ •์˜ํ•˜์—ฌ ๋ทฐ์™€ ์—ฐ๊ฒฐํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ URL์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค.
  • ํ…œํ”Œ๋ฆฟ ์—”์ง„: Django๋Š” ํ…œํ”Œ๋ฆฟ ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•˜์—ฌ ๋™์ ์œผ๋กœ ์ƒ์„ฑ๋œ HTML์„ ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณด์•ˆ ๊ธฐ๋Šฅ: Django๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์–ด, ๊ฐœ๋ฐœ์ž๊ฐ€ ์ผ๋ฐ˜์ ์ธ ๋ณด์•ˆ ๋ฌธ์ œ์— ๋Œ€์‘ํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์–‘ํ•œ ๋‚ด์žฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜: Django๋Š” ์ด๋ฏธ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋‚ด์žฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋“ค์„ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด, ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๋ฌธ์„œํ™”: Django๋Š” ํ™œ๋ฐœํ•œ ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํ’๋ถ€ํ•œ ๋ฌธ์„œํ™”๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด, ๊ฐœ๋ฐœ์ž๋“ค์ด ๋„์›€์„ ๋ฐ›๊ณ  ์ง€์‹์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Django project structure

  • Django ์˜ ํฐ ๊ตฌ์กฐ๋Š” Project์™€ App๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Œ image

  • ํ”„๋กœ์ ํŠธ(Project): Django์—์„œ ํ”„๋กœ์ ํŠธ๋Š” ์ „์ฒด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ผˆ๋Œ€๋ฅผ ํ˜•์„ฑ, ๋ณดํ†ต ํ•˜๋‚˜์˜ Django ํ”„๋กœ์ ํŠธ ์•ˆ์—๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์•ฑ์ด ํฌํ•จ ๋จ

    • ์„ค์ •(Settings)
    • URL ํŒจํ„ด ๋งคํ•‘
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ • ๋“ฑ ์ „๋ฐ˜์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ค์ •์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
  • ์•ฑ(App): ์•ฑ์€ Django ํ”„๋กœ์ ํŠธ์˜ ๊ตฌ์„ฑ ์š”์†Œ ์ค‘ ํ•˜๋‚˜๋กœ, ํŠน์ • ๊ธฐ๋Šฅ ๋˜๋Š” ์—…๋ฌด ๋‹จ์œ„๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.