web2py는 파이썬으로 작성된 웹 애플리케이션 프레임워크입니다. 이 프레임워크는 웹 애플리케이션 개발을 간편하게 만들어주는 다양한 기능을 제공하는데, 그 중 하나가 FORM 객체입니다. FORM 객체를 사용하면 사용자로부터 입력 받을 수 있는 폼을 쉽게 생성할 수 있습니다.
FORM 객체의 기본 사용법
form = FORM('Hello, World!')
위의 코드는 “Hello, World!”라는 텍스트를 가지는 간단한 폼을 생성하는 예시입니다. FORM
은 web2py의 FORM 객체를 생성하는 클래스입니다. 생성자에는 폼에 표시될 내용을 인자로 전달합니다.
폼 객체를 생성한 후, 이를 렌더링하여 HTML로 출력할 수 있습니다.
form = FORM('Hello, World!')
html = form.xml()
위의 코드에서 xml()
메소드를 호출하여 폼 객체를 HTML로 렌더링한 결과를 html
변수에 저장합니다.
폼 요소 추가하기
폼에는 다양한 입력 요소를 추가할 수 있습니다. 예를 들어, 텍스트 입력 필드, 체크박스, 라디오 버튼 등을 추가할 수 있습니다.
form = FORM(
LABEL('Name'),
INPUT(_name='name', _type='text'),
LABEL('Gender'),
INPUT(_name='gender', _type='radio', _value='Male'),
'Male',
INPUT(_name='gender', _type='radio', _value='Female'),
'Female',
INPUT(_type='submit', _value='Submit')
)
위의 코드는 이름과 성별을 입력받는 간단한 폼을 생성하는 예시입니다. LABEL
과 INPUT
요소를 사용하여 폼에 필요한 요소들을 추가합니다. _name
과 _type
등의 속성을 사용하여 요소의 속성을 설정할 수 있습니다.
데이터 전송 및 유효성 검사
폼을 제출하면 입력된 데이터를 서버로 전송할 수 있습니다. web2py는 자동으로 입력 데이터를 수신하고 처리할 수 있습니다.
form = FORM(
LABEL('Name'),
INPUT(_name='name', _type='text', requires=IS_NOT_EMPTY()),
INPUT(_type='submit', _value='Submit')
)
if form.process().accepted:
name = form.vars.name
# 데이터 처리 로직
위의 코드는 입력 필드에 IS_NOT_EMPTY()
유효성 검사를 설정한 예시입니다. process()
메소드를 호출하여 폼을 제출하면 유효성 검사를 수행하고 accepted
속성이 True
인지 확인하여 제출 완료를 확인합니다. 제출된 데이터는 form.vars
객체를 통해 접근할 수 있습니다.
결론
web2py의 FORM 객체는 웹 애플리케이션에서 사용자 입력을 처리하는 데 유용한 기능을 제공합니다. FORM 객체를 사용하면 웹 애플리케이션의 폼을 쉽고 간편하게 만들 수 있습니다. 유효성 검사 등의 기능을 활용하여 안전하게 데이터를 수신하고 처리할 수 있습니다. 이러한 기능들을 통해 웹 애플리케이션의 사용자 경험을 향상시킬 수 있습니다.