μΉμμ μ¬μ©μ μ 보λ₯Ό μ
λ ₯νλ λ°©μ ( text, button, submit λ± ) μ μ 곡νκ³ , μ¬μ©μλ‘λΆν° ν λΉλ λ°μ΄ν°λ₯Ό μλ²λ‘ μ μ‘
ν΅μ¬μμ±
λ°μ΄ν°λ₯Ό μ΄λλ‘
action
μ΄λ€ λ°©μmethod
μΌλ‘ 보λΌμ§
action : μ λ ₯ λ°μ΄ν°κ° μ μ‘λ URL μ μ§μ π μμ± μ§μ μν μ λ°μ΄ν°λ νμ¬ form μ΄ μλ νμ΄μ§μ URL λ‘ λ³΄λ΄μ§
method : λ°μ΄ν°λ₯Ό μ΄λ»κ² λ³΄λΌ κ²μ΄μ§ μ μ π GET / POST - 2κ°μ§ λ°©λ²μΌλ‘ μ μ‘ κ°λ₯
μ¬μ©μλ‘λΆν° λ°μ΄ν°λ₯Ό μ λ ₯ λ°κΈ° μν΄ μ¬μ©
type μ λ°λΌ λμ λ°©μμ΄ λ¬λΌμ§λ€. πμ§μ νμ§ μμ κ²½μ° κΈ°λ³Έκ°μ text
form μ ν΅ν΄ λ°μ΄ν°λ₯Ό μ μΆ μ name μμ±μ μ€μ λ κ°μ μ μ‘ π name μ key , value λ value λ‘ λ§€ν
λ°μ΄ν°
λ₯Όκ΅¬μ‘°ν
νκ³μ‘°μ
νκΈ° μν λꡬ- λ°μ΄ν°λ€μ νμμ μΈ νλλ€κ³Ό λμλ€μ ν¬ν¨
- μ μ₯λ λ°μ΄ν°λ² μ΄μ€μ ꡬ쑰
models.py
νμΌμν΄λμ€
μμ±- μΌλ°μ μΌλ‘λ λͺ¨λΈ ν΄λμ€ 1κ° == λ°μ΄ν°λ² μ΄μ€ ν μ΄λΈ 1κ°
- κ° λͺ¨λΈμ django.db.models λͺ¨λμ Model ν΄λμ€λ₯Ό μμλ°μ ꡬμ±λ¨
ν΄λμ€ λ³μ == DB νλμ μ΄λ¦
ν΄λμ€ λ³μ κ° == DB νλμ λ°μ΄ν° νμ
- λ°μ΄ν° μ νμ λ°λΌ λ€μν λͺ¨λΈ νλλ₯Ό μ 곡 : μ°Έκ³ μ¬μ΄νΈ https://docs.djangoproject.com/en/3.2/ref/models/fields/
λͺ¨λΈμ μκΈ΄ λ³νλ₯Ό μ€μ DBμ λ°μνλ λ°©λ²
β λͺ¨λΈ λ³κ²½μ¬νμ λ°λ₯Έ μλ‘μ΄ migration λ§λ€κΈ°
$ python manage.py makemigrations
π λͺ
λ Ήμ΄ μ€ν ν migrations/0001_initial.py κ° μμ±
β λͺ¨λΈμ λ³κ²½μ¬νκ³Ό λ°μ΄ν° λ² μ΄μ€λ₯Ό λκΈ°ν
$ python manage.py migrate
β models.py μμ λ³κ²½μ¬νμ΄ λ°μνλ©΄ migration μμ± + DB λκΈ°ν νκΈ° !
π μ¬μ μ€λΉ
β λΌμ΄λΈλ¬λ¦¬ μ€μΉ λ° μ€μ
$ pip install ipython
$ pip install django-extensions
β ν¨ν€μ§ λͺ©λ‘ μ λ°μ΄νΈ
$ pip freeze > requirements.txt
β django shell
$ python manage.py shell
λλ
$ python manage.py shell_plus
λλΆλΆμ μννΈμ¨μ΄κ° κ°μ§λ κΈ°λ³Έμ μΈ λ°μ΄ν° μ²λ¦¬ κΈ°λ₯
- 첫λ²μ§Έ λ°©λ²
- article = Article()
- article.title = 'λ³μκ°'
article.content = 'λ³μκ°' ...- article.save()
- λλ²μ¨° λ°©λ²
- article = Article(title = 'λ³μκ°', content = 'λ³μκ°' )
- article.save()
- μΈλ²μ¨° λ°©λ²
- Article.objects.create(title = 'λ³μκ°', content = 'λ³μκ°' )
- all() : μ 체 λ°μ΄ν° μ‘°ν
Article.objects.all()
- get() : λ¨μΌ λ°μ΄ν° μ‘°ν
Article.objects.get(pk=μ‘°ν νκ³ μνλ λ°μ΄ν° pk λ²νΈ)
- filter() : μ§μ λ μ‘°ν λ§€κ° λ³μ μ μΌμΉνλ κ°μ²΄λ₯Ό ν¬ν¨νλ μ QuerySet λ°ν
Article.objects.filter(content=μ‘°ν νκ³ μνλ λ°μ΄ν° content)
Article.objects.filter(title=μ‘°ν νκ³ μνλ λ°μ΄ν° title)
- μμ νκ³ μ νλ article μΈμ€ν΄μ€ κ°μ²΄λ₯Ό μ‘°ν ν λ°ν κ°μ μ μ₯
article = Article.objects.get(pk=1)- μΈμ€ν΄μ€ λ³μλ₯Ό λ³κ²½
article.title='hi'- μ μ₯
article.save()- νμΈ
article.title
- μμ νκ³ μ νλ article μΈμ€ν΄μ€ κ°μ²΄λ₯Ό μ‘°ν ν λ°ν κ°μ μ μ₯
article = Article.objects.get(pk=1)- delete λ©μλ νΈμΆ
article.delete()
β admin κ³μ μμ±
$ python manage.py createsuperuser
β λͺ¨λΈμ 보기 μν΄ admin.pyμ λ±λ‘