Skip to content
ย 
ย 

Latest commit

ย 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Django

๐Ÿ“Œ๋ชฉ์ฐจ


๐ŸŸ ์›น์˜ ๋™์ž‘ ๋ฐฉ์‹

Untitled

Untitled

๐Ÿ”ถClient

  • ํด๋ผ์ด์–ธํŠธ
  • ์„œ๋น„์Šค๋ฅผ ์š”์ฒญํ•˜๋Š” ์ฃผ์ฒด
    • ์›น ์‚ฌ์šฉ์ž์˜ ์ธํ„ฐ๋„ท์ด ์—ฐ๊ฒฐ๋œ ์žฅ์น˜, ์›น ๋ธŒ๋ผ์šฐ์ €

๐Ÿ”ถServer

  • ์„œ๋ฒ„
  • ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ์‘๋‹ตํ•˜๋Š” ์ฃผ์ฒด
    • ์›น ํŽ˜์ด์ง€, ์•ฑ์„ ์ €์žฅํ•˜๋Š” ์ปดํ“จํ„ฐ

๐ŸŸ Frontend & Backend

๐Ÿ”ถFrontend

  • ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(UI)๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ
    • HTML, CSS, JavaScript ๋“ฑ

๐Ÿ”ถBackend

  • ์„œ๋ฒ„ ์ธก์—์„œ ๋™์ž‘ํ•˜๋ฉฐ, ํด๋ผ์ด์–ธํŠธ์˜ ์š”ํŽ‘์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ์™€ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์™€์˜ ์ƒํ˜ธ์ž‘์šฉ ๋“ฑ์„ ๋‹ด๋‹น
    • ์„œ๋ฒ„์–ธ์–ด(Python, Java) ๋ฐ ๋ฐฑ์—”๋“œ ํ”„๋ ˆ์ž„ ์›Œํฌ, ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค, API, ๋ณด์•ˆ ๋“ฑ

๐ŸŸ Famework

  • โ€œ๊ฑฐ์ธ์˜ ์–ด๊นจ ์œ„์—์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ธฐโ€
    • ํ•˜๋‚˜๋ถ€ํ„ฐ ์—ด๊นŒ์ง€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ชจ๋‘ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ž˜ ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ๋“ค์„ ๊ฐ€์ ธ์™€ ์ข‹์€ ํ™˜๊ฒฝ์—์„œ ๋‚ด ๊ฒƒ์œผ๋กœ ์ž˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ๋Šฅ๋ ฅ

๐Ÿ”ถWeb Framework

  • ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋„๊ตฌ
    • ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๊ธฐ๋ณธ ๊ตฌ์กฐ, ๊ทœ์น™, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ์„ ์ œ๊ณต
  • ํŒŒ์ด์ฌ ๊ธฐ๋ฐ˜ ๋Œ€ํ‘œ ์›น ํ”„๋ ˆ์ž„์›Œํฌ - Django

๐ŸŸ Django

  • ๋‹ค์–‘์„ฑ
    • Python๊ธฐ๋ฐ˜์œผ๋กœ ์†Œ์…œ ๋ฏธ๋””์–ด ๋ฐ ๋น…๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋“ฑ ๊ด‘๋ฒ”์œ„ํ•œ ์„œ๋น„์Šค ๊ฐœ๋ฐœ์— ์ ํ•ฉ
  • ํ™•์žฅ์„ฑ
    • ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๋น ๋ฅด๊ณ  ์œ ์—ฐํ•˜๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ์ œ๊ณต
  • ๋ณด์•ˆ
    • ์ทจ์•ฝ์ ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋Š” ๋ณด์•ˆ๊ธฐ๋Šฅ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‚ด์žฅ๋˜์–ด ์žˆ์Œ
  • ์ปค๋ฎค๋‹ˆํ‹ฐ ์ง€์›
    • ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์ง€์›, ๋ฌธ์„œ ๋ฐ ์—…๋ฐ์ดํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ™œ์„ฑํ™” ๋œ ์ปค๋ฎค๋‹ˆํ‹ฐ

๐Ÿ”ถ๊ฐ€์ƒ ํ™˜๊ฒฝ

  • Python ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ทธ์— ๋”ฐ๋ฅผ ํŒจํ‚ค์ง€๋ฅผ ๊ฒฉ๋ฆฌํ•˜์—ฌ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋…๋ฆฝ์ ์ธ ์‹คํ–‰ ํ™˜๊ฒฝ
  • Global ํ™˜๊ฒฝ์ด ์•„๋‹Œ ๊ฒฉ๋ฆฌ๋œ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉ

๊ฐ€์ƒํ™˜๊ฒฝ venv ์ƒ์„ฑ

python -m venv venv

๊ฐ€์ƒํ™˜๊ฒฝ ํ™œ์„ฑํ™”

source venv/Scripts/activate

๊ฐ€์ƒํ™˜๊ฒฝ ๋น„ํ™œ์„ฑํ™”

deactivate

ํ™˜๊ฒฝ์— ์„ค์น˜๋œ ํŒจํ‚ค์ง€ ๋ชฉ๋ก ํ™•์ธ

pip list

ํŒจํ‚ค์ง€ ๋ชฉ๋ก ์ƒ์„ฑ

  • ์˜์กด์„ฑ ํŒจํ‚ค์ง€
  • ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€๊ฐ€ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์˜ ๊ธฐ๋Šฅ์ด๋‚˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ ํŒจํ‚ค์ง€๊ฐ€ ์กด์žฌํ•ด์•ผ๋งŒ ์ œ๋Œ€๋กœ ์ž‘๋™๋˜๋Š” ๊ด€๊ณ„
  • ์‚ฌ์šฉํ•˜๋ ค๋Š” ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜, ํ˜ธํ™˜๋˜๋Š” ๋ฒ„์ „์ด ์•„๋‹ˆ๋ผ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋™์ž‘์„ ๋ณด์ผ ์ˆ˜ ์žˆ์Œ
pip freeze > requirements.txt
  • ๊ฐœ๋ฐœํ™˜๊ฒฝ์—์„œ๋Š” ๊ฐ๊ฐ์˜ ํ”„๋กœ์ ํŠธ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ํŒจํ‚ค์ง€์™€ ๊ทธ ๋ฒ„์ „์„ ์ •ํ™•ํžˆ ๊ด€๋ฆฌํ•˜๋Š”๊ฒƒ์ด ์ค‘์š”
  • ๊ฐ€์ƒํ™˜๊ฒฝ & ์˜์กด์„ฑ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

์˜์กด์„ฑ ํŒจํ‚ค์ง€ ๋ชฉ๋ก ์„ค์น˜

pip install -r requirements.txt

์žฅ๊ณ  ์„œ๋ฒ„ ์‹คํ–‰

python manage.py runserver

๐Ÿ”ถLST(Long-Term Support)

  • ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ์˜ ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ์žฅ๊ธฐ๊ฐ„ ์ง€์›๋˜๋Š” ์•ˆ์ •์ ์ธ ๋ฒ„์ „์„ ์˜๋ฏธ
  • ๊ธฐ์—…์ด๋‚˜ ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์—…๊ทธ๋ ˆ์ด๋“œ์— ๋งŽ์€ ๋น„์šฉ๊ณผ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ •์ ์ด๊ณ  ์žฅ๊ธฐ๊ฐ„ ์ง€์›๋˜๋Š” ๋ฒ„์ „์ด ํ•„์š”

๐Ÿ”ถ๋””์ž์ธ ํŒจํ„ด

  • ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ฐ˜์ ์ธ ํ•ด๊ฒฐ์ฑ…
    • ๊ณตํ†ต์ ์ธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ์“ฐ์ด๋Š” ํ˜•์‹ํ™”๋œ ๊ด€ํ–‰
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ตฌ์กฐ๋Š” ์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑํ•˜์ž ๋ผ๋Š” ๊ด€ํ–‰

MVC ๋””์ž์ธ ํŒจํ„ด

  • Model, View, Controller
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์กฐํ™”ํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ํŒจํ„ด
  • ๋ฐ์ดํ„ฐ, ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋ถ„๋ฆฌ
  • ์‹œ๊ฐ์  ์š”์†Œ์™€ ๋’ค์—์„œ ์‹คํ–‰๋˜๋Š” ๋กœ์ง์„ ์„œ๋กœ ์˜ํ–ฅ์—†์ด, ๋…๋ฆฝ์ ์ด๊ณ  ์‰ฝ๊ฒŒ ์œ ์ง€๋ณด์ˆ˜ํ•  ์ˆ˜ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•จ

MTV ๋””์ž์ธ ํŒจํ„ด

  • Model, Template, View

  • Django์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์กฐํ™”ํ•˜๋Š” ํŒจํ„ด

  • ๊ธฐ์กด MVC ํŒจํ„ด๊ณผ ๋™์ผํ•˜๋‚˜ ๋‹จ์ˆœํžˆ ๋ช…์นญ์„ ๋‹ค๋ฅด๊ฒŒ ์ •์˜ํ•œ ๊ฒƒ

    Untitled

๐Ÿ”ถProject & App

Django Project

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ง‘ํ•ฉ
    • DB์„ค์ •, URL์—ฐ๊ฒฐ, ์ „์ฒด ์•ฑ ์„ค์ •๋“ฑ์„ ๊ด€๋ฆฌ

ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

django-admin startproject ํ”„๋กœ์ ํŠธ๋ช… .

Django application

  • ๋…๋ฆฝ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๋‹จ์œ„ ๋ชจ๋“ˆ
    • ๊ฐ์ž ํŠน์ •ํ•œ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•˜๋ฉฐ ๋‹ค๋ฅธ ์•ฑ๋“ค๊ณผ ํ•จ๊ป˜ ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑ

์•ฑ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ˆœ์„œ

  1. ์•ฑ ์ƒ์„ฑ
    • ์•ฑ ์ด๋ฆ„์€ ๋ณต์ˆ˜ํ˜•์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ
  2. ์•ฑ ๋“ฑ๋ก
    • ๋ฐ˜๋“œ์‹œ ์•ฑ์„ ์ƒ์„ฑํ•œ ํ›„์— ๋“ฑ๋กํ•ด์•ผ ํ•จ

    • project/ settings.py์˜ INSTALLED_APPS์— ๋งจ ์•ž์ชฝ์— ๋“ฑ๋ก

      Untitled

๐Ÿ”ถํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

settings.py

  • ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์„ค์ •์„ ๊ด€๋ฆฌ

urls.py

  • ์š”์ฒญ ๋“ค์–ด์˜ค๋Š” URL์— ๋”ฐ๋ผ ์ด์— ํ•ด๋‹นํ•˜๋Š” ์ ์ ˆํ•œ views๋ฅผ ์—ฐ๊ฒฐ

manage.py

  • Django ํ”„๋กœ์ ํŠธ์™€ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์ปค๋งจ๋“œ๋ผ์ธ ์œ ํ‹ธ๋ฆฌํ‹ฐ

๐Ÿ”ถ์•ฑ ๊ตฌ์กฐ

  • MTV๋ชจ๋‘ ์•ฑ์— ์กด์žฌํ•ด์•ผํ•จ

admin.py

  • ๊ด€๋ฆฌ์ž์šฉ ํŽ˜์ด์ง€ ์„ค์ •

models.py

  • DB์™€ ๊ด€๋ จ๋œ Model์„ ์ •์˜
  • MTV ํŒจํ„ด์˜ M

views.py

  • HTTP ์š”ํŽ‘์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ํ•ด๋‹น ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋ฐ˜ํ™˜
  • url, model, template๊ณผ ์—ฐ๊ณ„
  • MTV ํŒจํ„ด์˜ V

apps.py

  • ์•ฑ์˜ ์ •๋ณด๊ฐ€ ์ž‘์„ฑ๋œ ๊ณณ

๐Ÿ”ถ์š”์ฒญ๊ณผ ์‘๋‹ต

Untitled

๐Ÿ”ถtemplates

  • ์•ฑ ์•„๋ž˜์— ์กด์žฌ
  • ํด๋” ์ด๋ฆ„์€ templates์—ฌ์•ผ๋งŒ ํ•จ - ํ•„์ˆ˜

templates๋ถˆ๋Ÿฌ์˜ค๊ธฐ

  • views.py์— ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•จ
    • ์ด๋•Œ ํ•จ์ˆ˜์—๋Š” request๋ฅผ ๊ผญ ์ธ์ž๊ฐ’์œผ๋กœ ๋„ฃ์–ด์ค˜์•ผํ•˜๋ฉฐ
    • return์‹œ์—๋Š” renderํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•จ
      • return render(request, โ€˜templates์ดํ›„์˜ ํด๋”, ํŒŒ์ผ ๋ช…โ€™)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages