django checkbox 예제

이 예제는 함수 기반 보기및 Form 클래스를 사용합니다. 다음 섹션에서는 양식의 작동 방식과 진행 중인 LocalLibrary 프로젝트에 필요한 변경 사항을 설명합니다. 이 에 대한 사용 사례는 필드가 특정 값으로 초기화되는 “빈” 양식을 표시하려는 경우입니다. 예를 들어 두 필드에 대한 레이블을 구현하는 전체 예제 양식은 다음과 같습니다. 출력을 단순화하기 위해 auto_id=False를 지정했습니다: 이 선택적 인수는 필드의 위젯에서 선택 값으로 사용할 필드를 지정하는 데 사용됩니다. 모델의 고유한 필드인지 확인하고 선택한 값이 두 개 이상의 개체와 일치할 수 있습니다. 기본적으로 없음으로 설정되어 있으며, 이 경우 각 개체의 기본 키가 사용됩니다. 예를 들어 동작을 사용자 지정하기 위해 수행할 수 있는 몇 가지 작업을 보여 주는 예는 다음과 같습니다. 우리는 그들 각각을 통해 이야기 할 것이다. 지금까지 이 자습서에서 양식을 만들지는 않았지만, 이미 Django Admin 사이트에서 해당 양식을 접했습니다. ModelForm의 경우 여기에 올 때까지 인스턴스가 있습니다 (만들거나 편집하는지 여부에 따라 ID가있을 수도 있고 없을 수도 있음).

그래서 내 예에서는 super 메서드를 호출하기 전에 내 인스턴스에서 __init___에서 검색 한 주최자 값을 설정하여 실제로 데이터베이스에 내 인스턴스를 저장합니다. 그런 다음 인스턴스 자체를 반환하므로 뷰에서 사용할 수 있습니다. Django는 위에서 설명한 작업을 수행하는 데 도움이 되는 다양한 도구와 접근 방식을 제공합니다. 가장 기본적인 것은 폼 HTML 생성과 데이터 정리/유효성 검사를 모두 간소화하는 Form 클래스입니다. 다음 섹션에서는 사서가 책을 갱신할 수 있도록 하는 페이지의 실제 예제를 사용하여 양식이 작동하는 방식을 설명합니다. 모델 양식을 작성할 때 는 메타 클래스에서 작업중인 모델을 알려주고 해당 모델의 필드를 사용하거나 제외할 필드를 알려주어야 합니다. 당신이 원하는 경우 당신은 할 수 있습니다 – 장고는 필드의 유형에 따라 각 필드에 사용할 위젯을 알 수 있습니다 (부울 필드는 확인란을 얻을 것이다, CharField는 텍스트 입력 등을 얻을 것이다,). 폼이 인스턴스를 만드는 대신 편집중이고 인스턴스가 전달되면(다음 섹션에서 이야기할 예정입니다) 필드는 해당 필드의 현재 값으로 채워집니다.

그것은 매우 편리하고 당신을 위해 많은 일을합니다. 다음은 위의 양식에서 한 다른 몇 가지입니다 두 번째 점은 값이 범위 범위를 벗어나면 ValidError를 발생시키고 잘못된 값을 입력하면 양식에 표시할 오류 텍스트를 지정한다는 것입니다. 위의 예제에서는 장고의 번역 함수 ugettext_lazy(_)(_)로 가져온 텍스트 중 하나에서 이 텍스트를 래핑하므로 나중에 사이트를 번역하려는 경우 사용하는 것이 좋습니다. 모델의 __str__() 메서드는 필드의 선택에서 사용할 개체의 문자열 표현을 생성하기 위해 호출됩니다. 사용자 지정 표현을 제공하려면 하위 클래스 ModelChoiceField를 제공하고 label_from_instance를 재정의합니다. 이 메서드는 모델 개체를 수신 하 고 그것을 표현 하기 위해 적합 한 문자열을 반환 해야 합니다. 예: Django는 데이터의 유효성을 검사할 수 있는 다양한 장소를 제공합니다. 단일 필드의 유효성을 검사하는 가장 쉬운 방법은 확인하려는 필드에 대해 clean_() 메서드를 재정의하는 것입니다.

예를 들어 아래와 같이 clean_renewal_date()를 구현하여 입력된 renewal_date 값이 현재와 4주 사이에 있는지 확인할 수 있습니다. 참고: 양식 및 필드 유효성 검사(Django 문서)에는 양식유효성 검사를 위한 수많은 다른 방법과 예제가 있습니다. 예를 들어 서로 종속된 필드가 여러 개인 경우 Form.clean() 함수를 재정의하고 유효성 검사 오류를 다시 발생시킬 수 있습니다. 점 표기법의 속성을 인덱싱하여 양식의 각 부분의 렌더링을 완벽하게 제어할 수도 있습니다.