반응형
from django import forms
class PostForm(forms.Form):
title = forms.CharField(label='제목', max_length=200)
content = forms.CharField(label='내용', widget=forms.Textarea)
▶ models.py에서 모델 클래스를 선언하는 것과 유사하게 어떤 입력을 받을 것인지 forms.CharField와 같은 구문으로 정의함
▶ 해당 field의 속성들을 소괄호 내에 label, max_length, widget 등으로 정함
▶ content = forms.CharField(label="내용", widget=forms.Textarea) : 위젯 속성으로는 화면에 보여질 입력 칸의 형태를 정하게 되는데, 따로 지정하지 않으면 해당 필드 타입의 기본 위젯이 보여짐
→ CharField 타입의 기본 위젯은 input type="text"임
from django.shortcuts import render
from second.models import Post
from .forms import PostForm
# Create your views here.
def list(request):
context = {
'items': Post.objects.all()
}
return render(request, 'second/list.html', context)
def create(request):
form = PostForm()
return render(request, 'second/create.html', {'form':form})
▶ views.py에 생성한 폼을 사용하도록 create.html 파일 불러옴
▶ 입력 받은 데이터를 처리하는 코드는 일단 다루지 않기 때문에 action에는 루트 경로로 지정함
▶ csrf_token : 사용자가 입력한 값을 각각의 토큰으로 저장
▶ urls.py에 새로운 views.py에서 지정한 메소드를 url과 연결함
▶ 지정 경로에 들어가면 위와 같은 화면이 출력됨
반응형
'Django > inflearn' 카테고리의 다른 글
Model Form 사용하기 (0) | 2022.10.30 |
---|---|
폼으로 데이터 전송하기 (0) | 2022.10.21 |
폼 개요 (0) | 2022.10.19 |
화면에 데이터 출력하기 (0) | 2022.10.04 |
데이터 생성 (0) | 2022.10.02 |