μν΄
/
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. μ¬μ© μ€λΉ
λ©μμ§ νλ μμν¬
νμ₯ κΈ°λ₯