📚likelion 8th의 django 강의 필기
📑Django
- model에 대응하는 html폼을 만들어줌
- 데이터를 생성하거나 업데이트가 간편
- 폼을 다루는 법을 배워야한다
1. model 생성하기
👉models.py에서 작성
✍
class Jasoseol(models.Model): #첫글자는 대문자 models의 Model을 상속받음
title = models.CharField(max_length=50)
content = models.TextField()
updated_at = models.DateTimeField(auto_now=True)
👉앱폴더에 froms.py를 생성
👉다음 코드를 froms.py에 작성
✍
from django import forms
from .models import Jasoseol #위에서 생성한 모델을 가져옴
class JssForm(forms.ModelForm):
class Meta:
model = Jasoseol
fields = ('title', 'content',) #입력 받을 필드를 작성
👉views.py에 작성
✍
from .forms import JssForm #만든 modelform을 가져옴
def create(request):
#form에 입력 받았을 때
if request.method == "POST":
filled_form = JssForm(request.POST)
if filled_form.is_valid():
filled_form.save()
return redirect('index')
#form을 html에 보내 사용자가 입력하게 만들 때
jss_form=JssForm()
return render(request, 'create.html', {'jss_form':jss_form})
👉html파일에 작성
✍
<form method="POST" asction="">
{% csrf_token %}
{{jss_form.as_p}}
<input type="submit" value="확인">
</form>
👉{{jss_form}} 이것만 작성해도 html에 form뜸
👉.as_p는 폼의 각 필드를 p 태그 안에서 레이블과 텍스트로 배치하여 정리해줌