Django/inflearn

기본 폼 생성하기

곽수진 2022. 10. 20. 00:24
반응형

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