ALOHA CLASS
/
Back-End
/
Django
Search
Duplicate
Share
Django ๊ธฐ์ด
INDEX
INDEX
Django ์ค์น
โข
์ค์นํ๊ธฐ
โข
์ค์น ํ์ธ
โข
VS CODE ํ์ฅ
์ค์นํ๊ธฐ
1.
Python ์ค์นํ๊ธฐ
2.
๊ฐ์ํ๊ฒฝ ์์ฑ ๋ฐ ํ์ฑํ
3.
Django ์ค์น
Django ์ค์น
์ธํ
Django ํ๋ก์ ํธ ์์ฑํ๊ธฐ
1. ๊ฐ์ํ๊ฒฝ ์์ฑ ๋ฐ ํ์ฑํ
๊ฐ์ํ๊ฒฝ ์์ฑ
๊ฐ์ํ๊ฒฝ ํ์ฑํ
ํ๋ก์ ํธ ์์ฑ
์ธํ
Static ํ์ผ
์ธํ
์ฅ๊ณ ํ๋ก์ ํธ ๊ตฌ์กฐ ๊ฐ์
์ฃผ์ ํ์ผ ์ค๋ช
์ฑ ๊ตฌ์กฐ ์ค๋ช
ํ๋ก์ ํธ ๊ตฌ์กฐ
ํ๋ก์ ํธ ๊ตฌ์ฑ
MVT ํจํด
MVT๋ Model, Template, View์ ์ฝ์๋ก, ๊ฐ ๊ตฌ์ฑ ์์๋ ๋ค์๊ณผ ๊ฐ์ ์ญํ ์ ์ํํฉ๋๋ค:
โข
Model (๋ชจ๋ธ):
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ด๋ จ๋ ๋ก์ง์ ์ฒ๋ฆฌํ๋ฉฐ, ๋ฐ์ดํฐ์ ๊ตฌ์กฐ์ ์ ํจ์ฑ์ ๊ด๋ฆฌํฉ๋๋ค.
โข
Template (ํ ํ๋ฆฟ):
์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง๋ UI ๋ถ๋ถ์ ๋ด๋นํ๋ฉฐ, HTML ํ์ผ์ ํตํด ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ํ์๋ ์ง ์ ์ํฉ๋๋ค.
โข
View (๋ทฐ):
ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ , ๋ชจ๋ธ๊ณผ ํ ํ๋ฆฟ์ ์ฐ๊ฒฐํ๋ ์ค๊ฐ ๊ด๋ฆฌ์ ์ญํ ์ ํฉ๋๋ค.
์ด๋ฌํ ๊ตฌ์กฐ๋ ๊ฐ ์ญํ ์ ๋ช ํํ ๋ถ๋ฆฌํ์ฌ ์ฝ๋์ ์ ์ง๋ณด์์ฑ๊ณผ ์ฌ์ฌ์ฉ์ฑ์ ๋์ฌ์ค๋๋ค.
Django์์์ MVT
MVT ํจํด
ํ๋ก์ ํธ ๊ตฌ์ฑ
Core Files (ํต์ฌ ํ์ผ)
ํต์ฌ ํ์ผ ๋ชฉ๋ก
manage.py
โ
Django ํ๋ก์ ํธ ์คํ ๋์ฐ๋ฏธ
โข
Django ํ๋ก์ ํธ์ ๋ช ๋ น์ด ์ธํฐํ์ด์ค ์ญํ ์ ํฉ๋๋ค.
โข
์:
runserver
,
migrate
,
startapp
๋ฑ ๊ด๋ฆฌ ๋ช ๋ น์ ์คํํ ๋ ์ฌ์ฉ.
โข
๋ด๋ถ์ ์ผ๋ก๋
settings.py
๋ฅผ ๋ถ๋ฌ์ Django ํ๊ฒฝ์ ์ด๊ธฐํํจ.
Core Files (ํต์ฌ ํ์ผ)
ํ๋ก์ ํธ ๊ตฌ์ฑ
MTV ํจํด์์์ Model
Model์ ์ฃผ์ ํน์ง
โข
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋ฅผ Python ํด๋์ค๋ก ํํ
โข
๋ฐ์ดํฐ์ ์ ํจ์ฑ ๊ฒ์ฌ์ ๊ด๊ณ ์ค์ ์ ๋ด๋น
โข
ORM(Object-Relational Mapping)์ ํตํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์กฐ์
โข
๋น์ฆ๋์ค ๋ก์ง ๊ตฌํ์ ์ค์ฌ์ ์ญํ ์ํ
Django Model ์์ ์ฝ๋
Model
๊ธฐ๋ณธ ์์
MTV ํจํด์์์ Template
HTML๊ณผ Django Template Language(DTL)๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ์ธ ์น ํ์ด์ง๋ฅผ ์์ฑํฉ๋๋ค.
Template์ ์ฃผ์ ํน์ง
โข
HTML ์ฝ๋ ์์ ํ์ด์ฌ ๋ณ์์ ๋ก์ง์ ์ฝ์ ํ ์ ์์ต๋๋ค
โข
์ฝ๋ ์ฌ์ฌ์ฉ์ ์ํ ํ ํ๋ฆฟ ์์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค
โข
ํํฐ์ ํ๊ทธ๋ฅผ ํตํด ๋ฐ์ดํฐ ์ถ๋ ฅ ํ์์ ์ ์ดํ ์ ์์ต๋๋ค
Template
๊ธฐ๋ณธ ์์
MTV ํจํด์์์ View
View๋ ๋ค์๊ณผ ๊ฐ์ ์ฃผ์ ๊ธฐ๋ฅ์ ์ํํฉ๋๋ค:
โข
ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ์ ์ฒ๋ฆฌ
โข
Model๊ณผ ์ํธ์์ฉํ์ฌ ๋ฐ์ดํฐ ์กฐ์
โข
๋น์ฆ๋์ค ๋ก์ง ์ฒ๋ฆฌ
โข
Template์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ์ฌ ์๋ต ์์ฑ
View์ ์ข ๋ฅ
View
๊ธฐ๋ณธ ์์
Django ORM
1. ORM์ด๋?
2. ๋ชจ๋ธ ์ ์
Django ORM
๊ธฐ๋ณธ ์์
Django QuerySet
1. QuerySet์ด๋?
QuerySet์ ํต์ฌ ํน์ง
1.
์ง์ฐ ํ๊ฐ (Lazy Evaluation)
2.
์ฒด์ด๋ ๊ฐ๋ฅ (Chainable)
3.
๋ฐ๋ณต ๊ฐ๋ฅ (Iterable)
QuerySet
๊ธฐ๋ณธ ์์
Django์์ MySQL ์ฐ๋ํ๊ธฐ
1. MySQL ์๋ฒ ์ค์น ๋ฐ DB ์ค๋น
2. MySQL ํด๋ผ์ด์ธํธ ๋๋ผ์ด๋ฒ ์ค์น
mysqlclient๋ C ๊ธฐ๋ฐ์ด๋ฏ๋ก Linux/Mac์์ ์ฑ๋ฅ ์ข๊ณ ์์ ์ ์ ๋๋ค.
Django x MySQL ์ฐ๋
์ธํ
Django Form
1. ํผ(Form)์ด๋?
โข
Django์
forms
๋ชจ๋์ ์ฌ์ฉ
โข
HTML
<form>
ํ๊ทธ๋ฅผ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋์์ค
Django Form์ ์ฃผ์ ๊ธฐ๋ฅ
๋ค์์ Django Form์ ์ฃผ์ ๊ธฐ๋ฅ์ ํ๋ก ์ ๋ฆฌํ ๊ฒ์ ๋๋ค:
Forms
ํ์ฅ ๊ธฐ๋ฅ
Django Admin
1. Django Admin ๊ฐ์
2. ๊ด๋ฆฌ์(superuser) ์์ฑ
์คํ ํ username, email, password ์ ๋ ฅ
Admin
ํ์ฅ ๊ธฐ๋ฅ
Session
1. ์ธ์ (Session)์ด๋?
2. Django์ ์ธ์ ์ค์
Session
์ํ ๊ด๋ฆฌ
Cookie
1. ์ฟ ํค(Cookie)๋?
2. ์ธ์ vs ์ฟ ํค ๋น๊ต
Cookie
์ํ ๊ด๋ฆฌ
Django ์ธ์ฆ ์์คํ (Auth)
1. ๊ธฐ๋ณธ ๊ฐ์
2. ๊ธฐ๋ณธ ์ธ์ฆ ํ๋ฆ
Auth
ํ์ฅ ๊ธฐ๋ฅ
๋ฉ์์ง ํ๋ ์์ํฌ ๊ฐ์์๋ฃ
1. ๋ฉ์์ง ํ๋ ์์ํฌ๋?
์์ฒญ๊ณผ ์๋ต ์ฌ์ด์ ํ ๋ฒ์ฑ ๋ฉ์์ง๋ฅผ ์ ์ฅํ๊ณ , ํ ํ๋ฆฟ์์ ํ์ํฉ๋๋ค.
Django ๋ฉ์์ง ํ๋ ์์ํฌ๋ ์ฌ์ฉ์์๊ฒ ์๋ฆผ ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ค ๋ ์ ์ฉํ ๊ธฐ๋ฅ์ ๋๋ค. ์๋ฅผ ๋ค์ด ํ์๊ฐ์ /๋ก๊ทธ์ธ ์ฑ๊ณต, ์ค๋ฅ ์๋ด ๋ฑ ๋ค์ํ ์ํฉ์์ ํ์ฉ๋ฉ๋๋ค.
2. ์ฌ์ฉ ์ค๋น
๋ฉ์์ง ํ๋ ์์ํฌ
ํ์ฅ ๊ธฐ๋ฅ