Django Form

이남경·2024년 3월 27일

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개의 댓글