아직 필자도 이해도가 적은 django 복습 기록용으로 남기는 글이다.

from django import forms
class Sale_form(forms.Form):
first_name = forms.CharField()
last_name = forms.CharField()
age = forms.IntegerField(min_value=0)
이렇게 만들어준 폼을
from django.http.response import HttpResponse
from django.shortcuts import render,redirect
from django.http import HttpRequest
from .models import Id,Person,Sale
from .forms import Sale_form ## 요부분
def 세일입력(request):
# print(request.POST) 입력한 폼이 정상적으로 보내는지 확인용
form = Sale_form()
if request.method == "POST":
print("포스트 메소드로 왔네요")
form = Sale_form(request.POST)
# 이게 유효한지 아닌지를 확인 해준다.
#메소드 유효성이 제대로 들어갔는지 안 갔는지 확인 하는 것
if form.is_valid():
print("클린데이터 확인>> ")
print(form.cleaned_data)
first_name = form.cleaned_data['first_name']
last_name = form.cleaned_data['last_name']
age = form.cleaned_data['age']
person = Person.objects.first()
Sale.objects.create(
first_name = first_name,
last_name = last_name,
age = age,
person = person
)
print("세일이 입력되었습니다!")
return redirect("/홈페이지")
#입력 이후 홈페이지로 다시 돌아가게 해주는 옵션
context = {
"폼키" : form
}
return render(request,"세일입력.html",context)
폼키 양식에 맞는 db들을 설계해준다
그리고 나서 폼 양식에서 가져오게된 정보들을
html로 뿌려주게 되는데
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>세일상세</title>
</head>
<body>
<ul>
<p>세일을 입력해주세요</p>
<form method="post">
{% csrf_token %}
<!-- 이게 무엇이냐 정보를 보호해주는 토크나이저->
<p>
{{ 폼키.as_p }}
</p>
<button>전송</button>
</form>
</ul>
</body>
</html>
csrf-token은 아직까지는 100% 이해하지 못했지만 개인정보 토크나이즈를 보호해주는 역할인 것 같다.