사용자 지정 문서 업로드 폼

Wagtail은 WAGTAILDOCS_DOCUMENT_FORM_BASE 설정을 수정하여 사용자 지정 문서 폼을 사용하는 방법을 제공합니다. 이 설정을 통해 기본 문서 폼을 사용자 지정 필드 및 로직으로 확장할 수 있습니다.

다음은 예시입니다.

# settings.py
WAGTAILDOCS_DOCUMENT_FORM_BASE = 'myapp.forms.CustomDocumentForm'
# myapp/forms.py
from django import forms

from wagtail.documents.forms import BaseDocumentForm

class CustomDocumentForm(BaseDocumentForm):
    terms_and_conditions = forms.BooleanField(
        label="이 문서는 AI에 의해 생성되지 않았음을 확인합니다.",
        required=True,
    )

    def clean(self):
        cleaned_data = super().clean()
        if not cleaned_data.get("terms_and_conditions"):
            raise forms.ValidationError(
                "문서가 AI에 의해 생성되지 않았음을 확인해야 합니다."
            )
        return cleaned_data

참고

모든 사용자 지정 문서 폼은 내장 BaseDocumentForm 클래스를 확장해야 합니다.