About Django
Last updated
Was this helpful?
Last updated
Was this helpful?
μ₯κ³ (Django)λ νμ΄μ¬μΌλ‘ μμ±λ μ€ν μμ€ μΉ μ ν리μΌμ΄μ νλ μμν¬λ‘, MVC(λͺ¨λΈ - λ·° - 컨νΈλ‘€λ¬) ν¨ν΄μ λ°λ₯΄κ³ μλ€.
μΉ νμ΄μ§λ₯Ό κ°λ°νλ κ³Όμ μμ κ²ͺλ μ΄λ €μμ μ€μ΄λ κ²μ΄ μ£Ό λͺ©μ μΌλ‘ ν΅μ λ°μ΄ν°λ² μ΄μ€ μ°λ, ν νλ¦Ώ ννμ νμ€, μΈμ κ΄λ¦¬, μ½λ μ¬μ¬μ© λ±μ κΈ°λ₯μ ν¬ν¨νκ³ μλ€. -μν€λ°±κ³Ό
μ¦, νλ‘κ·Έλ¨ κ°λ°μ λ€μν κΈ°λ₯λ€μ ν΅ν©μ μΌλ‘ μ 곡ν΄μ£Όλ κ²μ΄λ€.
MVC ν¨ν΄μ Model - View - Controllerμ μ½μλ‘ κΈ°λ₯μ λλ μννΈμ¨μ΄ κ°λ° λ°©λ²λ‘ μ΄λ€.
Model : λͺ¨λΈμ μ΄λ€ λμμ μννλ μ½λλ₯Ό λ§νλ€. μ΄ν리μΌμ΄μ μ΄ "무μ" μ ν μ§ κ²°μ νλ€. λͺ¨λΈμ μνμ λ³νκ° μμ λ 컨νΈλ‘€λ¬μ λ·°μ μ΄λ₯Ό ν΅λ³΄νλ€.
View : μ¬μ©μκ° λ³Ό κ²°κ³Όλ¬Όμ μμ±νκΈ° μν΄ λͺ¨λΈλ‘λΆν° μ 보λ₯Ό μ»μ΄ μ¨λ€.
Controller : λͺ¨λΈμ λͺ λ Ήμ 보λμΌλ‘μ¨ λͺ¨λΈμ μνλ₯Ό λ³κ²½ν μ μλ€. μ¦, λͺ¨λΈμ΄ "μ΄λ»κ²" μ²λ¦¬ν μ§ μλ €μ€λ€.
λΉμ§λμ€ λ‘μ§κ³Ό μΈν°νμ΄μ€ μμλ₯Ό λΆλ¦¬μμΌ μλ‘ μν₯μμ΄ κ°λ°ν μ μλ μ₯μ μ΄ μλ€.
μ₯κ³ μμλ MVCκΈ°λ°μ MTVμ μ¬μ©νλ€.
Model - Model
View - Template
Controller - View
Djangoλ Model - Template - View λ‘ μ΄λ£¨μ΄μ Έμλ€. Djangoλ Controller μν μ μ₯κ³ νλ μμν¬ μ체μμ νλ€κ³ λ³΄κ³ μμΌλ©°, MVC(Model - VIew - Controller)μ λ€λ₯Έ μ°¨μ΄λ₯Ό MTV ν¨ν΄μΌλ‘ μ€λͺ νκ³ μλ€.
ORMμ Object Relational Mappingμ μ€μλ§λ‘, κ°μ²΄(OOP)μ κ΄κ³(κ΄κ³ν λ°μ΄ν°λ² μ΄μ€)μμ μ€μ μ΄λ€.
μ¬μ©νλ Database λ° DB Connector μ λ°λΌ λ¬λΌμ§ μ μλ λ°μ΄ν° 맀ν ꡬ쑰λ₯Ό κ°μ²΄μ§ν₯ννλ‘ ν΅μΌμμΌ, SQL ꡬ쑰μ Databaseλ₯Ό OOP ꡬ쑰μ ννλ‘ λ§€νμν€λ €λ ν¨λ¬λ€μμ΄λ€.
κ°μ²΄μ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ λ°μ΄ν°λ₯Ό μλμΌλ‘ μ°κ²°ν΄μ£Όλ κ²μ΄λ€.
κ°μ²΄ λͺ¨λΈ(ν΄λμ€), κ΄κ³ν λͺ¨λΈ(ν μ΄λΈ) κ°μ λΆμΌμΉλ₯Ό ORMμ ν΅ν΄ ν΄κ²°ν μ μλ€.
κ°μ²΄λ₯Ό ν΅ν΄ κ°μ μ μΌλ‘ λ°μ΄ν°λ² μ΄μ€ λ°μ΄ν°λ₯Ό λ€λ£¬λ€.
κ°μ²΄ μ§ν₯μ μΈ μ½λλ‘ λ λΉμ¦λμ€ λ‘μ§μ μ§μ€ ν μ μλ€.
μ¬μ¬μ© λ° μ μ§λ³΄μμ νΈλ¦¬μ±μ΄ μ¦κ°
DBMSμ λν μ’ μμ± κ°μ
ORMμΌλ‘λ§ μλΉμ€λ₯Ό ꡬννκΈ° μ΄λ ΅λ€.
νλ‘μμ κ° λ§μ μμ€ν μμλ ORMμ κ°μ²΄ μ§ν₯μ μΈ μ₯μ μ νμ©νκΈ° μ΄λ ΅λ€.
μ₯κ³ λ ORMκΈ°λ²μ λ°λΌ ν μ΄λΈμ νλμ ν΄λμ€λ‘ μ μνκ³ , ν μ΄λΈμ 컬λΌμ ν΄λμ€μ λ³μλ‘ λ§€ννλ€.
μ₯κ³ μμλ μ°μν URL λ°©μμ μ±ννμ¬ URLμ μ§κ΄μ μ΄κ³ μ½κ² ννν μ μλ€. λν μ κ· ννμμ μ¬μ©νμ¬ λ³΅μ‘ν URLλ ννν μ μμΌλ©°, κ° URL ννλ₯Ό νμ΄μ¬ ν¨μμ 1:1λ‘ μ°κ²°ν μ μλλ‘ λμ΄μμ΄ κ°λ°μ΄ νΈλ¦¬νλ©°, μ΄ν΄νκΈ°λ μ½λ€.
μ¬μ©μκ΄λ¦¬, μ¬μ©μ κ·Έλ£Ήκ΄λ¦¬, μ¬μ©μ λ³ κΆνμ λν κ² λΏ μλλΌ, κ°κ°μ λͺ¨λΈ κ°μ²΄μ λν΄μ, λͺ©λ‘/μΆκ°/μμ /λ³κ²½μ κΈ°λ₯μ΄ κ΄λ¦¬μ μΈν°νμ΄μ€μμ λͺ¨λ μ 곡νλ€. λ°μ΄ν°λ² μ΄μ€, μΉ μ΄ν리μΌμ΄μ μ μ€νμ μΌλ‘ μμ±νκΈ° μ’λ€.
μ₯κ³ λ λ΄λΆμ μΌλ‘ νμ₯μ΄ κ°λ₯νκ³ λμμΈμ΄ μ¬μ΄ κ°λ ₯ν ν νλ¦Ώ μμ€ν μ κ°κ³ μλ€. μ΄λ₯Ό ν΅ν΄ νλ©΄ λμμΈκ³Ό λ‘μ§μ λν μ½λ©μ λΆλ¦¬νμ¬ λ 립μ μΌλ‘ κ°λ°μ μ§νν μ μλ€.( HTMLκ³Ό κ°μ ν μ€νΈ μΈμ΄λ₯Ό μ½κ² λ€λ£° μ μλ€.)
μ₯κ³ μ μΊμ μμ€ν μ μΊμμ© νμ΄μ§λ₯Ό λ©λͺ¨λ¦¬, λ°μ΄ν°λ² μ΄μ€ λ΄λΆ, νμΌ μμ€ν μ€ μ무 κ³³μλ μ μ₯ν μ μλ€. λν μΊμ λ¨μλ₯Ό νμ΄μ§μμλΆν° μ¬μ΄νΈ μ 체 λλ νΉμ λ·°μ κ²°κ³Ό, ν νλ¦Ώμ μΌλΆ μμλ§μ μ§μ νμ¬ μ μ₯ν΄ λ μλ μλ€.
λμ μΈ νμ΄μ§λ₯Ό λ§λ€κΈ° μν΄μ λ°μ΄ν°λ² μ΄μ€ 쿼리λ₯Ό μννκ³ ν νλ¦Ώμ ν΄μνλ©°, κ΄λ ¨ λ‘μ§μ μ€ννμ νμ΄μ§λ₯Ό μμ±νλ μΌμ μλ²μ μμ²λ λΆνλ₯Ό μ£Όλ μμ μ΄λ€. κ·Έλμ μΊμ μμ€ν μ μ¬μ©νμ¬ μμ£Ό μ΄μ©λλ λ΄μ©μ μ μ₯ν΄ λμλ€κ° μ¬μ¬μ©νλ κ²μ΄ μ±λ₯μ λμ¬μ£Όλ λ°©λ²μ΄λ€.
μ₯κ³ λ λμΌν μμ€μ½λλ₯Ό λ€λ₯Έ λλΌμμλ μ¬μ©ν μ μλλ‘ ν μ€νΈμ λ²μ, λ μ§/μκ°/μ«μμ ν¬λ§·, νμμ‘΄μ μ§μ λ±κ³Ό κ°μ λ€κ΅μ΄ νκ²½μ μ 곡νλ€.
μ₯κ³ λ κ°λ°μ λμμ΄ λ μ μλ μ¬λ¬ κΈ°λ₯μ μ 곡νλ€. λνμ μΌλ‘ ν μ€νΈμ© μΉ μλ²λ₯Ό ν¬ν¨νκ³ μμ΄μ κ°λ° κ³Όμ μμ μνμΉ λ±μ μ¬μ© μΉ μλ²κ° μμ΄λ ν μ€νΈλ₯Ό μ§νν μ μλ€. λν λλ²κΉ λͺ¨λλ₯Ό μ¬μ©ν κ²½μ°μλ μλ¬λ₯Ό μ½κ² νμ νκ³ ν΄κ²°ν μ μλλ‘ μμ£Ό μμΈν λ©μμ§λ₯Ό 보μ¬μ€λ€.
μ₯κ³ μμλ *.py
νμΌμ λ³κ²½ μ¬λΆλ₯Ό κ°μνκ³ μλ€κ° λ³κ²½μ΄ λλ©΄ μ€ν νμΌμ λ³κ²½ λ΄μμ λ°λ‘ λ°μνλ€. κ·Έλμ μ₯κ³ ν
μ€νΈμ© μΉ μλ²λ₯Ό μ€ν μ€μΈ μνμμ μμ€ νμΌμ μμ ν κ²½μ°μλ μΉ μλ²λ₯Ό λ€μ μμν νμ μμ΄ μλμΌλ‘ μλ‘μ΄ νμΌμ΄ λ°μλλ€.
λΉκ΅μ μ½κ² λ°°μΈ μ μλ Pythonμ κΈ°λ°μΌλ‘ νλ€.
μ΅νκΈ° μ¬μ΄ λ§νΌ κ°λ°μλκ° λΉ λ₯΄λ©°, μ½λ μμ±λλ₯Ό λκ² μ μ§ν μ μλ€.
μΉ μ ν리μΌμ΄μ μ΄ μ 곡λμ΄μΌνλ μ¬μ©μ μΈμ¦, μ¬μ©μ κ΄λ¦¬ λ±μ κΈ°λ³Έμ μΌλ‘ κΈ°λ₯ ꡬνμ΄ λμ΄ μλ€.(κΈ°λ³Έ λͺ¨λλ‘ μ 곡λλ€.)
μ±κ³΅μ μΈ λμ μ¬λ‘κ° μλ€.(ex)Instagram
AWS, Google Cloud, Azureλ±μμ μ νμ μΌλ‘ μ΄κΈ° λ¨κ³λΆν° μ§μν νλ μμν¬μ΄λ€.
κ°λ° λΉμ©μ ν¬κ² μ κ°μν¬ μ μλ€.
νκΈ λ¬Έμκ° λ§μ§μλ€.
typeless μΈμ΄μ μ½μ μ κ·Έλλ‘ λ³΄μ νκ³ μλ€.
μλΉμ€ μ±λ₯μ λ€λ₯Έ μΈμ΄μ νλ μμν¬(java, js) λ³΄λ€ λ리λ€.