2 augusti, 2019 Incopia

django form 예제

양식을 작성하고 제출하여 뷰를 테스트합니다. 콘솔 창(PowerShell 또는 명령 프롬프트)을 보면 뷰가 코딩된 전자 메일을 콘솔로 바로 전송한 것을 볼 수 있습니다. 예를 들어 양식을 제출할 때 Django가 PowerShell에 출력한 내용(긴 줄 중 일부를 줄였습니다): 양식 필드의 형식을 사용하여 해당 모델 필드의 내용을 설정할 수 있는지 확인해야 합니다. 호환되지 않는 경우 암시적 변환이 수행되지 않기 때문에 ValueError를 받게 됩니다. 양식을 제출하기 전에 브라우저에서 몇 가지 유효성 검사가 필요할 수 있습니다. 사용자가 달력에서 날짜 를 선택하는 등의 작업을 수행 할 수 있도록 훨씬 더 복잡한 필드를 사용할 수 있습니다. 전체

마지막으로 완료해야 할 작업은 이벤트 앱에 대한 새 URL 구성을 제공하고 기본 템플릿에 HTML 앵커를 추가하여 웹 사이트를 새 추가 장소 양식에 연결하는 것입니다. Django 웹 사이트로 다시 전송된 양식 데이터는 일반적으로 양식을 게시한 뷰와 동일한 뷰에 의해 처리됩니다. 이렇게 하면 동일한 논리 중 일부를 다시 사용할 수 있습니다. 양식이 제출되면 서버로 전송되는 POST 요청에양식 데이터가 포함됩니다. 다음으로 빈 양식을 제출하여 양식 유효성 검사가 작동하는지 확인합니다. 오류 메시지가 표시됩니다(그림 8-3). 위의 필드 유형 테이블에 설명된 기본 필드 유형은 합리적인 기본값입니다. 모델에 DateField가 있는 경우 양식에서 DateField로 표시할 가능성이 높습니다.

그러나 ModelForm은 지정된 모델의 양식 필드를 유연게 변경할 수 있는 유연성을 제공합니다. 웹 응용 프로그램의 컨텍스트에서 `양식`은 해당 HTML 또는 HTML을 생성하는 Django Form 또는 제출시 반환되는 구조화 된 데이터 또는 이러한 부분의 종단 간 작업 컬렉션을 참조할 수 있습니다. 시스템 상태를 변경하는 데 사용할 수 있는 모든 요청(예: 데이터베이스에서 변경하는 요청)은 POST를 사용해야 합니다. GET은 시스템 상태에 영향을 주지 않는 요청에만 사용해야 합니다. 이러한 경우의 마지막은 가장 흥미로운, 그것은 사용자가 단지 웹 사이트를 읽을 수 있도록 하기 때문에, 하지만 너무 그것에 다시 정보를 보낼. 이전 양식에서는 단일 필드인 your_name, CharField를 사용했습니다. 이 경우 양식에는 제목, 메시지, 보낸 자 및 cc_myself의 네 가지 필드가 있습니다. CharField, EmailField 및 BooleanField는 사용 가능한 필드 유형 중 세 가지에 불과합니다.

전체 목록은 양식 필드에서 찾을 수 있습니다. 이제 Django의 양식 클래스가 어떻게 작동하는지 살펴보았으니 웹 사이트에 대한 첫 번째 양식을 만들어 보겠습니다. 우리는 대부분의 웹 사이트에 공통되는 간단한 양식으로 시작하려고합니다 – 연락처 양식. Author 모델에는 3개의 필드 이름, 제목 및 birth_date가 있기 때문에 양식에 필드 이름과 birth_date가 표시됩니다. 예를 들어 지정된 필드에 사용할 위젯을 지정하여 기존 양식을 간단하게 수정하는 데 사용할 수도 있습니다.