Django Form

이남경·2024년 3월 27일
0

SSAFY 11기

목록 보기
49/67

Django Form


HTML 'form'

지금까지 사용자로부터 데이터를 받기 위해 활용한 방법 그러나 비정상적인 혹은 악의적인 요청을 필터링 할 수 없음

→ 유효한 데이터인지에 대한 확인 필요

유효성 검사

수집한 데이터가 정확하고 유효한지 확인하는 과정

유효성 검사 구현

유효성 검사를 구현하기 위해서는 입력 값, 형식, 중복 범위, 보안 등 많은 것을 고려해야 함

이런 과정와 기능을 직접 개발하는 것이 아닌 Django가 제공하는 Form을 사용

Form Class


Django Form

사용자 입력 데이터를 수집하고, 처리 및 유효성 검사를 수행하기 위한 도구

→ 유효성 검사를 단순화하고 자동화 할 수 있는 기능을 제공

Widgets


Widgets

HTML 'input' element의 '표현'을 담당

Django Modelform


Form

사용자 입력 데이터를 DB에 저장하지 않을 때 (ex. 로그인)

ModelForm

사용자 입력 데이터를 DB에 저장해야 할 때 (ex. 게시글 작성, 회원 가입)

Meta class

ModelForm의 정보를 작성하는 곳

is_valid()

여러 유효성 검사를 실행하고, 데이터가 유효한지 여부를 Boolean으로 반환

save()

데이터베이스 객체를 만들고 저장

Django Form 정리

사용자로부터 데이터를 수집하고 처리하기 위한 강력하고 유연한 도구

HTML form의 생성, 데이터 유효성 검사 및 처리를 쉽게 할 수 있도록 도움

Handling HTTP requests


view 함수 구조 변화

new & create view 함수간 공통점

데이터 생성을 구현하기 위함

new & create view 함수간 차이점

new는 GET method 요청만을, create는 POST method 요청만을 처리

HTTP request method 차이점을 활용해 동일한 목적을 가지는 2개의 view 함수를 하나로 구조화

0개의 댓글

관련 채용 정보