설정

Wagtail은 Django의 핵심 설정 외에 다음 설정을 사용합니다.

사이트

WAGTAIL_SITE_NAME

WAGTAIL_SITE_NAME = '스타크 인더스트리 스컹크웍스'

이것은 Wagtail 관리자에 로그인할 때 사용자에게 환영 메시지를 표시하는 Wagtail 설치의 사람이 읽을 수 있는 이름입니다.

WAGTAILADMIN_BASE_URL

WAGTAILADMIN_BASE_URL = 'http://example.com'

이것은 Wagtail 관리 사이트에서 사용되는 기본 URL입니다. 일반적으로 알림 이메일에 포함할 URL을 생성하는 데 사용됩니다.

이 설정이 없으면 Wagtail은 request.site.root_url 또는 요청의 호스트 이름으로 대체됩니다.

슬래시 추가

WAGTAIL_APPEND_SLASH

# Wagtail에서 제공하는 URL에 후행 슬래시를 추가하지 않습니다.
WAGTAIL_APPEND_SLASH = False

Django의 APPEND_SLASH 와 유사하게 이 설정은 Wagtail이 후행 슬래시로 끝나지 않는 요청을 처리하는 방법을 제어합니다.

WAGTAIL_APPEND_SLASHTrue(기본값)인 경우, 후행 슬래시를 생략하는 Wagtail 페이지에 대한 요청은 Django의 CommonMiddleware 에 의해 후행 슬래시가 있는 URL로 리디렉션됩니다.

WAGTAIL_APPEND_SLASHFalse 인 경우, Wagtail 페이지에 대한 요청은 후행 슬래시 유무에 관계없이 제공됩니다. 그러나 Wagtail에서 생성된 페이지 링크에는 후행 슬래시가 포함되지 않습니다.

참고

False 설정을 사용하는 경우, 슬래시 유무에 관계없이 페이지를 제공하면 검색 엔진이 사이트를 색인화하는 능력에 영향을 미칠 수 있다는 점을 명심하십시오. 자세한 내용은 이 Google Search Central 블로그 게시물을 참조하십시오.

검색

WAGTAILSEARCH_BACKENDS

WAGTAILSEARCH_BACKENDS = {
    'default': {
        'BACKEND': 'wagtail.search.backends.elasticsearch8',
        'INDEX': 'myapp'
    }
}

검색 백엔드를 정의합니다. 전체 설명은 백엔드를 참조하십시오.

WAGTAILSEARCH_HITS_MAX_AGE

WAGTAILSEARCH_HITS_MAX_AGE = 14

검색어 로그를 보관할 일수(기본값 7일)를 설정합니다. 이는 홍보된 검색 결과에 대한 인기 검색어를 식별하는 데 사용됩니다. 이보다 오래된 쿼리는 searchpromotions_garbage_collect 명령에 의해 제거됩니다.

국제화

Wagtail은 각 언어에 대해 별도의 페이지 트리를 유지하여 콘텐츠의 국제화를 지원합니다.

사이트에서 국제화를 활성화하는 방법에 대한 가이드는 구성 가이드를 참조하십시오.

WAGTAIL_I18N_ENABLED

(부울, 기본값 False)

True 로 설정하면 Wagtail의 국제화 기능이 활성화됩니다.

WAGTAIL_I18N_ENABLED = True

WAGTAIL_CONTENT_LANGUAGES

(목록, 기본값 [])

Wagtail 콘텐츠를 작성할 수 있는 언어 및/또는 로케일 목록입니다.

예를 들어:

WAGTAIL_CONTENT_LANGUAGES = [
    ('en', _("영어")),
    ('fr', _("프랑스어")),
]

목록의 각 항목은 언어 코드와 표시 이름이 포함된 2-튜플입니다. 언어 코드는 언어 코드 자체(예: en, fr)이거나 지역 코드(예: en-gb, fr-fr)를 포함할 수 있습니다. 일부 지역에서만 현지화해야 하는 경우 두 형식을 혼합할 수 있습니다.

이 설정은 Django의 LANGUAGES 설정과 동일한 구조를 따르므로 동일한 값으로 설정할 수 있습니다.

LANGUAGES = WAGTAIL_CONTENT_LANGUAGES = [
    ('en-gb', _("영어 (영국)")),
    ('en-us', _("영어 (미국)")),
    ('es-es', _("스페인어 (스페인)")),
    ('es-mx', _("스페인어 (멕시코)")),
]

그러나 분리하면 사이트에서 여러 다른 지역을 구성할 수 있지만 Wagtail 콘텐츠를 공유할 수 있습니다(그러나 날짜 형식 지정, 통화 등은 다름).

LANGUAGES = [
    ('en', _("영어 (영국)")),
    ('en-us', _("영어 (미국)")),
    ('es', _("스페인어 (스페인)")),
    ('es-mx', _("스페인어 (멕시코)")),
]


WAGTAIL_CONTENT_LANGUAGES = [
    ('en', _("영어")),
    ('es', _("스페인어")),
]

이는 사이트가 https://www.mysite.com/es/https://www.mysite.com/es-MX/ URL에 응답하지만, 둘 다 Wagtail의 동일한 “스페인어” 트리에서 콘텐츠를 제공한다는 것을 의미합니다.

참고

WAGTAIL_CONTENT_LANGUAGESLANGUAGES 의 하위 집합이어야 합니다.

WAGTAIL_CONTENT_LANGUAGES 에 존재하는 모든 언어는 LANGUAGES 설정에도 존재해야 합니다. 이는 Wagtail이 번역되지 않은 컨텍스트(예: 관리 인터페이스)에서 이러한 페이지에 대한 라이브 URL을 생성할 수 있도록 하기 위함입니다.

임베드

Wagtail은 YouTube 또는 X(이전 Twitter)와 같은 외부 공급자의 콘텐츠 URL에서 임베드 코드를 생성하는 것을 지원합니다. 기본적으로 Wagtail은 oEmbed 프로토콜을 사용하여 관련 공급자 사이트에서 직접 임베드 코드를 가져옵니다. Wagtail에는 가장 일반적인 공급자 목록이 내장되어 있습니다.

임베드 가져오기는 WAGTAILEMBEDS_FINDERS 설정을 사용하여 완전히 구성할 수 있습니다. 이는 임베드 “파인더” 구성하기에 완전히 문서화되어 있습니다.

WAGTAILEMBEDS_RESPONSIVE_HTML

WAGTAILEMBEDS_RESPONSIVE_HTML = True

임베드에 class="responsive-object" 및 인라인 padding-bottom 스타일을 추가하여 반응형으로 만드는 데 도움이 됩니다. 자세한 내용은 반응형 임베드를 참조하십시오.

대시보드

WAGTAILADMIN_RECENT_EDITS_LIMIT

WAGTAILADMIN_RECENT_EDITS_LIMIT = 5

이 설정은 대시보드의 ‘최근 편집’에 표시되는 항목 수를 변경할 수 있도록 합니다.

일반 편집

WAGTAILADMIN_RICH_TEXT_EDITORS

WAGTAILADMIN_RICH_TEXT_EDITORS = {
    'default': {
        'WIDGET': 'wagtail.admin.rich_text.DraftailRichTextArea',
        'OPTIONS': {
            'features': ['h2', 'bold', 'italic', 'link', 'document-link']
        }
    },
    'secondary': {
        'WIDGET': 'some.external.RichTextEditor',
    }
}

리치 텍스트 필드의 동작을 사용자 지정합니다. 기본적으로 RichTextFieldRichTextBlock'default' 키 아래에 지정된 구성을 사용하지만, editor 키워드 인수를 통해 필드별로 재정의할 수 있습니다. 예를 들어 body = RichTextField(editor='secondary') 입니다. 각 구성 블록 내에서 다음 필드가 인식됩니다.

  • WIDGET: 사용할 리치 텍스트 위젯 구현. Wagtail은 wagtail.admin.rich_text.DraftailRichTextArea(잘 구성된 마크업을 강제하는 최신 확장 가능한 편집기)를 제공합니다. 다른 위젯은 타사 패키지에서 제공할 수 있습니다.

  • OPTIONS: 위젯에 전달할 구성 옵션. 인식되는 옵션은 위젯별이지만 DraftailRichTextArea 는 활성 리치 텍스트 기능을 나타내는 features 목록을 허용합니다(리치 텍스트 기능 참조).

'default' 편집기가 지정되지 않은 경우 editor 인수를 지정하지 않은 리치 텍스트 필드는 기본 기능 세트가 활성화된 Draftail 편집기를 사용합니다.

WAGTAIL_DATE_FORMAT, WAGTAIL_DATETIME_FORMAT, WAGTAIL_TIME_FORMAT

WAGTAIL_DATE_FORMAT = '%d.%m.%Y.'
WAGTAIL_DATETIME_FORMAT = '%d.%m.%Y. %H:%M'
WAGTAIL_TIME_FORMAT = '%H:%M'

Wagtail 관리자의 입력 필드에 사용될 날짜, 시간 및 날짜/시간 형식을 지정합니다. 형식은 Python datetime 모듈 구문으로 지정되며 DATE_INPUT_FORMATS, TIME_INPUT_FORMATS 또는 DATETIME_INPUT_FORMATS 설정에 나열된 인식되는 형식 중 하나여야 합니다.

예를 들어, Wagtail 관리자에서 미국식 날짜 및 시간 형식(오전/오후 시간)을 사용하려면 사이트 로케일에 대한 Django 형식을 재정의해야 합니다.

# settings.py
WAGTAIL_TIME_FORMAT = "%I:%M %p"  # 오후 03:00
WAGTAIL_DATE_FORMAT = '%m/%d/%Y'  # 01/31/2004
WAGTAIL_DATETIME_FORMAT = '%m/%d/%Y %I:%M %p'  # 01/31/2004 오후 03:00

# Django는 시스템 로케일을 기반으로 형식을 사용합니다.
# 따라서 로케일을 지정한 다음 해당 로케일에 대한 날짜
# 형식을 재정의해야 합니다.
FORMAT_MODULE_PATH = ["formats"]
LANGUAGE_CODE = "en-US"

다음으로 프로젝트에 formats/en_US/formats.py 파일을 만듭니다.

# formats/en_US/formats.py

# 사용자 지정 형식을 Django 기본값에 추가합니다.
TIME_INPUT_FORMATS = [
    "%H:%M:%S",  # '14:30:59'
    "%H:%M:%S.%f",  # '14:30:59.000200'
    "%H:%M",  # '14:30'
    # 사용자 지정
    "%I:%M %p",
]
DATETIME_INPUT_FORMATS = [
    "%Y-%m-%d %H:%M:%S",  # '2006-10-25 14:30:59'
    "%Y-%m-%d %H:%M:%S.%f",  # '2006-10-25 14:30:59.000200'
    "%Y-%m-%d %H:%M",  # '2006-10-25 14:30'
    "%m/%d/%Y %H:%M:%S",  # '10/25/2006 14:30:59'
    "%m/%d/%Y %H:%M:%S.%f",  # '10/25/2006 14:30:59.000200'
    "%m/%d/%Y %H:%M",  # '10/25/2006 14:30'
    "%m/%d/%y %H:%M:%S",  # '10/25/06 14:30:59'
    "%m/%d/%y %H:%M:%S.%f",  # '10/25/06 14:30:59.000200'
    "%m/%d/%y %H:%M",  # '10/25/06 14:30'
    # 사용자 지정
    "%m/%d/%Y %I:%M %p",
]

# 여기에서 다음을 사용자 지정할 수도 있습니다: DATE_INPUT_FORMATS, DATE_FORMAT,
# DATETIME_FORMAT, TIME_FORMAT, SHORT_DATE_FORMAT.

페이지 편집

WAGTAILADMIN_COMMENTS_ENABLED

# 주석 비활성화
WAGTAILADMIN_COMMENTS_ENABLED = False

페이지에 대한 주석이 활성화되었는지 여부를 설정합니다(기본값 True).

WAGTAIL_ALLOW_UNICODE_SLUGS

WAGTAIL_ALLOW_UNICODE_SLUGS = True

기본적으로 페이지 슬러그는 비라틴 알파벳을 포함하여 모든 영숫자 문자를 포함할 수 있습니다. 슬러그를 ASCII 문자로 제한하려면 이 값을 False로 설정하십시오.

WAGTAIL_AUTO_UPDATE_PREVIEW_INTERVAL

WAGTAIL_AUTO_UPDATE_PREVIEW_INTERVAL = 500

미리 보기 패널에서 미리 보기를 업데이트하기 전에 페이지 또는 스니펫 편집기에서 변경된 사항을 자동으로 확인할 간격(밀리초)입니다. 기본값은 500 입니다.

0 으로 설정하면 패널에 새로 고침 버튼이 표시되고 버튼을 클릭할 때만 미리 보기가 업데이트됩니다.

미리 보기를 완전히 비활성화하려면 모델에서 미리 보기 모드를 비워 둡니다(preview_modes = []).

WAGTAIL_EDITING_SESSION_PING_INTERVAL

WAGTAIL_EDITING_SESSION_PING_INTERVAL = 10000

편집 세션 중에 서버에 핑을 보낼 간격(밀리초)입니다. 이는 세션이 활성 상태임을 나타내는 데 사용되며, 현재 동일한 콘텐츠를 편집 중인 다른 세션 목록을 표시하는 데도 사용됩니다. 기본값은 10000(10초)입니다. 세션 목록을 효과적으로 표시하려면 이 값을 1분 미만으로 설정해야 합니다. 0 으로 설정하면 간격이 비활성화됩니다.

WAGTAILADMIN_GLOBAL_EDIT_LOCK

WAGTAILADMIN_GLOBAL_EDIT_LOCKTrue 로 설정하여 사용자가 잠근 페이지 및 스니펫을 편집하는 것을 방지할 수 있습니다.

WAGTAILADMIN_UNSAFE_PAGE_DELETION_LIMIT

WAGTAILADMIN_UNSAFE_PAGE_DELETION_LIMIT = 20

이 설정은 많은 수의 자식 페이지가 있는 페이지를 삭제할 때 추가 확인 단계를 활성화합니다. 페이지 수가 이 제한(기본값 10)보다 크거나 같으면 사용자는 진행하려면 사이트 이름(WAGTAIL_SITE_NAME 에 정의된 대로)을 입력해야 합니다.

이미지

WAGTAILIMAGES_IMAGE_MODEL

WAGTAILIMAGES_IMAGE_MODEL = 'myapp.MyImage'

이 설정은 Wagtail에서 사용할 자체 이미지 모델을 제공할 수 있도록 하며, 이는 내장 AbstractImage 클래스를 확장해야 합니다.

WAGTAILIMAGES_IMAGE_FORM_BASE

WAGTAILIMAGES_IMAGE_FORM_BASE = 'myapp.forms.MyImageBaseForm'

이 설정은 Wagtail에서 사용할 자체 이미지 기본 폼을 제공할 수 있도록 하며, 이는 내장 BaseImageForm 클래스를 확장해야 합니다. 관리 폼에서 사용할 위젯을 지정하거나 재정의하는 데 사용할 수 있습니다.

WAGTAILIMAGES_MAX_UPLOAD_SIZE

WAGTAILIMAGES_MAX_UPLOAD_SIZE = 20 * 1024 * 1024  # 20MB

이 설정은 이미지의 최대 업로드 크기(바이트)를 재정의할 수 있도록 합니다. 생략하면 Wagtail은 기본값인 10MB를 사용합니다.

WAGTAILIMAGES_MAX_IMAGE_PIXELS

WAGTAILIMAGES_MAX_IMAGE_PIXELS = 128000000  # 128 메가픽셀

이 설정은 이미지가 가질 수 있는 최대 픽셀 수를 재정의할 수 있도록 합니다. 생략하면 Wagtail은 기본값인 128메가픽셀을 사용합니다. 픽셀 수는 애니메이션 프레임을 고려합니다. 예를 들어, 100x100 크기의 25프레임 애니메이션은 100 * 100 * 25 = 250000픽셀을 가진 것으로 간주됩니다.

WAGTAILIMAGES_FEATURE_DETECTION_ENABLED

WAGTAILIMAGES_FEATURE_DETECTION_ENABLED = True

이 설정은 OpenCV가 설치되면 특징 감지를 활성화합니다. 특징 감지 문서에서 모든 세부 정보를 참조하십시오.

WAGTAILIMAGES_INDEX_PAGE_SIZE

WAGTAILIMAGES_INDEX_PAGE_SIZE = 30

Wagtail 관리자의 기본 이미지 목록에 표시되는 페이지당 이미지 수를 지정합니다.

WAGTAILIMAGES_USAGE_PAGE_SIZE

WAGTAILIMAGES_USAGE_PAGE_SIZE = 20

이미지 사용량을 볼 때 페이지당 항목 수를 지정합니다.

WAGTAILIMAGES_CHOOSER_PAGE_SIZE

WAGTAILIMAGES_CHOOSER_PAGE_SIZE = 12

이미지 선택기 모달에 페이지당 표시되는 이미지 수를 지정합니다.

WAGTAILIMAGES_RENDITION_STORAGE

# 권장
WAGTAILIMAGES_RENDITION_STORAGE = 'my_custom_storage'
# 또는
WAGTAILIMAGES_RENDITION_STORAGE = 'myapp.backends.MyCustomStorage'
WAGTAILIMAGES_RENDITION_STORAGE = MyCustomStorage()

이 설정은 이미지 렌디션을 대체 저장소 구성을 사용하여 저장할 수 있도록 합니다. Django의 STORAGES 설정에 정의된 저장소 별칭을 사용하는 것이 좋습니다. 또는 이 설정은 Storage 서브클래스에 대한 점으로 구분된 모듈 경로 또는 해당 서브클래스의 인스턴스도 허용합니다. 기본값은 None 이며, 렌디션이 프로젝트의 기본 저장소를 사용한다는 것을 의미합니다.

사용자 지정 저장소 클래스는 django.core.files.storage.Storage 를 서브클래스해야 합니다. 자세한 내용은 Django 파일 저장소 API 를 참조하십시오.

WAGTAILIMAGES_EXTENSIONS

WAGTAILIMAGES_EXTENSIONS = ['png', 'jpg']

이미지 업로드 중에 유효성이 검사될 허용되는 이미지 확장자 목록입니다. 제공되지 않으면 AVIF, GIF, JPG, JPEG, PNG, WEBP가 모두 허용됩니다. 경고: 이는 업로드된 파일이 유효한지 항상 보장하지 않습니다. 파일은 포함된 데이터에 관계없이 확장자를 갖도록 이름을 바꿀 수 있기 때문입니다.

문서

WAGTAILDOCS_DOCUMENT_MODEL

WAGTAILDOCS_DOCUMENT_MODEL = 'myapp.MyDocument'

이 설정은 Wagtail에서 사용할 자체 문서 모델을 제공할 수 있도록 하며, 이는 내장 AbstractDocument 클래스를 확장해야 합니다.

WAGTAILDOCS_DOCUMENT_FORM_BASE

WAGTAILDOCS_DOCUMENT_FORM_BASE = 'myapp.forms.MyDocumentBaseForm'

이 설정은 Wagtail에서 사용할 자체 문서 기본 폼을 제공할 수 있도록 하며, 이는 내장 BaseDocumentForm 클래스를 확장해야 합니다. 관리 폼에서 사용할 위젯을 지정하거나 재정의하는 데 사용할 수 있습니다.

WAGTAILDOCS_SERVE_METHOD

WAGTAILDOCS_SERVE_METHOD = 'redirect'

문서 다운로드가 연결되고 제공되는 방법을 결정합니다. 일반적으로 문서 요청은 Django 뷰를 통해 전송되어 개인 정보 검사( 컬렉션 개인 정보 설정 참조) 및 잠재적으로 조회수 계산과 같은 다른 관리 작업을 수행합니다. 사용자가 이 검사를 우회하는 것을 완전히 방지하려면 문서가 제공되는 동일한 요청에서 발생해야 합니다. 그러나 이는 문서가 Django 서버에서 제공되어야 하므로 성능 저하가 발생합니다. 특히 이는 S3 또는 CDN과 같은 외부 저장소에 문서를 호스팅하는 이점의 대부분을 상쇄합니다.

이러한 이유로 Wagtail은 권한 검사의 엄격함 중 일부를 성능과 교환하는 여러 제공 방법을 제공합니다.

  • 'direct' - 문서에 대한 링크는 기본 저장소에서 제공하는 URL을 직접 가리키며, 권한 검사를 제공하는 Django 뷰를 우회합니다. 이는 완전히 정적 HTML로 사이트를 배포할 때 가장 유용합니다(예: wagtail-bakery 또는 Gatsby 사용).

  • 'redirect' - 문서에 대한 링크는 사용자 권한을 확인하는 Django 뷰를 가리킵니다. 성공하면 문서를 다운로드할 수 있도록 기본 저장소에서 제공하는 URL로 리디렉션됩니다. 이는 S3와 같은 원격 저장소 백엔드에 가장 적합합니다. Django 서버와 독립적으로 문서를 제공할 수 있기 때문입니다. 사용자가 후자 URL을 추측할 수 있는 경우 권한 검사를 우회할 수 있습니다. 일부 저장소 백엔드는 이를 완화하기 위해 무작위 또는 단기 URL을 생성하는 구성 옵션을 제공할 수 있습니다.

  • 'serve_view' - 문서에 대한 링크는 사용자 권한을 확인하고 문서를 제공하는 Django 뷰를 가리킵니다. 제공은 django-sendfile에서 처리됩니다. 설치되어 있고 서버 구성에서 지원되는 경우, 또는 그렇지 않은 경우 Django에서 스트리밍 응답으로 처리됩니다. 이 메서드를 사용할 때는 웹 서버를 구성하여 MEDIA_ROOT 아래의 위치에서 문서를 직접 제공하는 것을 허용하지 않는 것이 좋습니다. 이는 권한 검사를 우회하는 방법이 될 수 있기 때문입니다.

WAGTAILDOCS_SERVE_METHOD 가 지정되지 않거나 None 으로 설정된 경우, 기본 메서드는 원격 저장소 백엔드(URL을 노출하지만 로컬 파일 시스템 경로는 노출하지 않는 백엔드)가 사용 중일 때는 'redirect' 이고, 그렇지 않을 때는 'serve_view' 입니다. 마지막으로 일부 저장소 백엔드는 URL을 전혀 노출하지 않을 수 있습니다. 이 경우 제공은 'serve_view' 와 동일하게 진행됩니다.

경고

신뢰할 수 없는 사용자가 문서를 업로드하도록 허용하는 경우 MEDIA_ROOT 내의 문서 URL에 직접 액세스하는 것을 허용하면 보안 위험이 발생할 수 있습니다. 이 경우 웹 서버 수준에서 추가 구성이 필요하여 안전하게 처리해야 합니다. 사용자 업로드 파일를 참조하십시오.

WAGTAILDOCS_CONTENT_TYPES

WAGTAILDOCS_CONTENT_TYPES = {
    'pdf': 'application/pdf',
    'txt': 'text/plain',
}

serve_view 메서드를 사용할 때 주어진 파일 확장자에 대해 반환될 MIME 콘텐츠 유형을 지정합니다. 여기에 나열되지 않은 콘텐츠 유형은 Python mimetypes.guess_type 함수를 사용하여 추측되거나, 실패하면 application/octet-stream 이 사용됩니다.

WAGTAILDOCS_INLINE_CONTENT_TYPES

WAGTAILDOCS_INLINE_CONTENT_TYPES = ['application/pdf', 'text/plain']

serve_view 메서드를 사용할 때 다운로드로 제공되는 대신 브라우저에 인라인으로 표시될 MIME 콘텐츠 유형 목록입니다(Content-Disposition: inline HTTP 헤더를 제공하여). 기본값은 application/pdf 입니다.

WAGTAILDOCS_BLOCK_EMBEDDED_CONTENT

WAGTAILDOCS_BLOCK_EMBEDDED_CONTENT = True

Wagtail은 포함된 콘텐츠(예: HTML 파일의 Javascript)가 실행되지 않도록 하는 제한적인 콘텐츠 보안 정책을 문서에 적용합니다. 이 기능을 False 로 설정하여 비활성화할 수 있습니다.

이는 PDF에 포함된 Javascript에는 영향을 미치지 않지만, 이는 이미 격리된 환경에서 실행됩니다.

절대적으로 필요한 경우가 아니면 이 설정을 변경하지 않는 것이 강력히 권장됩니다.

WAGTAILDOCS_EXTENSIONS

WAGTAILDOCS_EXTENSIONS = ['pdf', 'docx']

문서 업로드 중에 유효성이 검사될 허용되는 문서 확장자 목록입니다. 제공되지 않으면 모든 문서 확장자가 허용됩니다. 이는 업로드된 파일이 유효한지 보장하지 않습니다. 파일은 포함된 데이터에 관계없이 확장자를 갖도록 이름을 바꿀 수 있기 때문입니다.

경고

신뢰할 수 없는 사용자가 문서를 업로드하도록 허용하는 경우 모든 파일 형식을 허용하면 보안 위험이 발생할 수 있습니다. 이 경우 웹 서버 수준에서 추가 구성이 필요하여 안전하게 처리해야 합니다. 사용자 업로드 파일를 참조하십시오.

사용자 관리

WAGTAIL_PASSWORD_MANAGEMENT_ENABLED

WAGTAIL_PASSWORD_MANAGEMENT_ENABLED = True

사용자가 암호를 변경할 수 있는지 여부를 지정합니다(기본적으로 활성화됨).

WAGTAIL_PASSWORD_RESET_ENABLED

WAGTAIL_PASSWORD_RESET_ENABLED = True

사용자가 암호를 재설정할 수 있는지 여부를 지정합니다. WAGTAIL_PASSWORD_MANAGEMENT_ENABLED 와 동일하게 기본 설정됩니다. 암호 재설정 이메일은 Django의 DEFAULT_FROM_EMAIL 설정에 지정된 주소에서 전송됩니다.

WAGTAILUSERS_PASSWORD_ENABLED

WAGTAILUSERS_PASSWORD_ENABLED = True

설정 -> 사용자 를 통해 사용자를 생성하거나 편집할 때 암호 필드가 표시되는지 여부를 지정합니다(기본적으로 활성화됨). 사용자가 LDAP와 같은 외부 시스템을 통해 인증되는 경우 이 값을 False로 설정하십시오(WAGTAIL_PASSWORD_MANAGEMENT_ENABLEDWAGTAIL_PASSWORD_RESET_ENABLED 와 함께).

WAGTAILUSERS_PASSWORD_REQUIRED

WAGTAILUSERS_PASSWORD_REQUIRED = True

새 사용자를 생성할 때 암호가 필수 필드인지 여부를 지정합니다. 기본적으로 True입니다. WAGTAILUSERS_PASSWORD_ENABLED 가 False이면 무시됩니다. 이 값이 False로 설정되고 사용자를 생성할 때 암호 필드가 비어 있으면 해당 사용자는 사용할 수 있는 암호가 없습니다. 로그인하려면 암호를 재설정해야 합니다(WAGTAIL_PASSWORD_RESET_ENABLED 가 True인 경우) 또는 LDAP와 같은 대체 인증 시스템을 사용해야 합니다(설정된 경우).

WAGTAIL_EMAIL_MANAGEMENT_ENABLED

WAGTAIL_EMAIL_MANAGEMENT_ENABLED = True

사용자가 이메일을 변경할 수 있는지 여부를 지정합니다(기본적으로 활성화됨).

WAGTAILADMIN_USER_PASSWORD_RESET_FORM

WAGTAILADMIN_USER_PASSWORD_RESET_FORM = 'users.forms.PasswordResetForm'

기본 PasswordResetForm 을 추가 필드로 확장할 수 있습니다.

WAGTAILADMIN_USER_LOGIN_FORM

WAGTAILADMIN_USER_LOGIN_FORM = 'users.forms.LoginForm'

기본 LoginForm 을 추가 필드로 확장할 수 있습니다.

WAGTAILADMIN_LOGIN_URL

WAGTAILADMIN_LOGIN_URL = 'http://example.com/login/'

사용자가 로그인하지 않고 Wagtail 관리자 페이지에 액세스하려고 할 때 리디렉션할 URL을 지정합니다. 생략하면 Wagtail은 표준 로그인 뷰(일반적으로 /admin/login/)를 사용합니다.

사용자 기본 설정

WAGTAIL_GRAVATAR_PROVIDER_URL

WAGTAIL_GRAVATAR_PROVIDER_URL = '//www.gravatar.com/avatar'

사용자가 프로필 사진을 업로드하지 않은 경우 Wagtail은 gravatar.com에서 이메일 주소에 연결된 아바타를 찾습니다. 이 설정을 사용하면 robohash.org와 같은 대체 공급자를 지정하거나 원격 아바타 사용을 완전히 비활성화하도록 None 으로 설정할 수 있습니다.

제공된 쿼리 문자열은 기본 매개변수와 병합됩니다. 예를 들어, //www.gravatar.com/avatar?d=robohash 설정을 사용하면 기본 mp(미스터리 인물) 대신 robohash 재정의가 사용됩니다. s 매개변수는 관리자 인터페이스 내의 위치에 따라 지정되므로 무시됩니다.

자세한 내용은 Gravatar 이미지 URL 문서를 참조하십시오.

WAGTAIL_USER_TIME_ZONES

로그인한 사용자는 계정 설정에서 관리자 인터페이스의 현재 시간대를 선택할 수 있습니다. 사용자가 시간대를 선택하지 않으면 TIME_ZONE 이 사용됩니다. (참고: 시간대는 날짜/시간 필드에만 적용되며, 일반 시간 또는 날짜 필드에는 적용되지 않습니다. 이는 Django 설계 결정입니다.)

기본적으로 zoneinfo.available_timezones() 에서 반환된 시간대 세트를 사용합니다. WAGTAIL_USER_TIME_ZONES 설정을 통해 이 목록을 재정의할 수 있습니다. 허용되는 시간대가 0개 또는 1개인 경우 계정 설정 폼은 숨겨집니다.

WAGTAIL_USER_TIME_ZONES = ['America/Chicago', 'Australia/Sydney', 'Europe/Rome']

WAGTAILADMIN_PERMITTED_LANGUAGES

사용자는 계정 설정에서 관리자 인터페이스에 대해 여러 언어 중에서 선택할 수 있습니다. 언어 목록은 기본적으로 Wagtail에서 사용 가능한 언어 중 최소 90%의 커버리지를 가진 모든 언어입니다. 변경하려면 WAGTAILADMIN_PERMITTED_LANGUAGES 를 설정하십시오.

WAGTAILADMIN_PERMITTED_LANGUAGES = [('en', '영어'),
                                    ('pt', '포르투갈어')]

구문이 Django LANGUAGES 와 동일하므로 사용자가 프런트 오피스 언어 중에서만 선택할 수 있도록 할 수 있습니다.

LANGUAGES = WAGTAILADMIN_PERMITTED_LANGUAGES = [('en', '영어'), ('pt', '포르투갈어')]

이메일 알림

WAGTAILADMIN_NOTIFICATION_FROM_EMAIL

WAGTAILADMIN_NOTIFICATION_FROM_EMAIL = 'wagtail@myhost.io'

Wagtail은 콘텐츠가 중재를 위해 제출될 때, 그리고 콘텐츠가 승인되거나 거부될 때 이메일 알림을 보냅니다. 이 설정을 통해 이러한 자동 알림이 전송될 이메일 주소를 선택할 수 있습니다. 생략하면 Wagtail은 Django의 DEFAULT_FROM_EMAIL 설정을 사용합니다.

WAGTAILADMIN_NOTIFICATION_USE_HTML

WAGTAILADMIN_NOTIFICATION_USE_HTML = True

알림 이메일은 기본적으로 text/plain 으로 전송됩니다. HTML 형식 지정을 사용하려면 이 값을 변경하십시오.

WAGTAILADMIN_NOTIFICATION_INCLUDE_SUPERUSERS

WAGTAILADMIN_NOTIFICATION_INCLUDE_SUPERUSERS = False

알림 이메일은 기본적으로 중재자 및 슈퍼유저에게 전송됩니다. 슈퍼유저를 제외하고 중재자에게만 알리도록 변경할 수 있습니다.

Wagtail 업데이트 알림

WAGTAIL_ENABLE_UPDATE_CHECK

WAGTAIL_ENABLE_UPDATE_CHECK = True

관리자에게만 해당됩니다. Wagtail은 대시보드에서 새 릴리스를 사용할 수 있는지 확인합니다. 이는 Wagtail 팀에 Wagtail 사이트의 호스트 이름을 제공하기도 합니다. 업데이트 알림을 받지 않으려면 또는 사이트를 알 수 없게 유지하려면 이 설정을 비활성화할 수 있습니다.

관리자에게 새 LTS(장기 지원) 버전만 알려야 하는 경우 이 설정을 "lts"(설정은 대소문자를 구분하지 않음)로 설정하십시오.

WAGTAIL_ENABLE_WHATS_NEW_BANNER

WAGTAIL_ENABLE_WHATS_NEW_BANNER = True

새 릴리스의 경우 Wagtail은 대시보드에 알림 배너를 표시하여 사용자가 UI 변경 사항 및 릴리스의 새로운 기능에 대해 자세히 알아볼 수 있도록 합니다. 사용자는 이 배너를 해제할 수 있으며, 다음 릴리스까지 숨겨집니다. 이러한 배너를 표시하지 않으려면 이 설정을 비활성화할 수 있습니다.

프런트엔드 인증

WAGTAIL_PASSWORD_REQUIRED_TEMPLATE

WAGTAIL_PASSWORD_REQUIRED_TEMPLATE = 'myapp/password_required.html'

이것은 사용자가 비공개 페이지에 액세스할 때 “암호 필요” 폼을 표시하는 데 사용될 Django 템플릿의 경로입니다. 자세한 내용은 비공개 페이지 문서를 참조하십시오.

WAGTAILDOCS_PASSWORD_REQUIRED_TEMPLATE

WAGTAILDOCS_PASSWORD_REQUIRED_TEMPLATE = 'myapp/document_password_required.html'

위와 동일하지만 문서의 암호 제한에 대한 것입니다. 자세한 내용은 비공개 페이지 문서를 참조하십시오.

WAGTAIL_FRONTEND_LOGIN_TEMPLATE

기본 로그인 페이지는 사용자 지정 템플릿으로 사용자 지정할 수 있습니다.

WAGTAIL_FRONTEND_LOGIN_TEMPLATE = 'myapp/login.html'

WAGTAIL_FRONTEND_LOGIN_URL

또는 로그인 페이지는 외부 또는 내부 URL로 리디렉션될 수 있습니다.

WAGTAIL_FRONTEND_LOGIN_URL = '/accounts/login/'

자세한 내용은 로그인 페이지 설정 문서를 참조하십시오.

WAGTAIL_PRIVATE_PAGE_OPTIONS

사용자가 공유 암호를 사용하여 페이지를 비공개로 설정하는 기능을 원하지 않는 경우 이 설정을 사용하여 비활성화할 수 있습니다.

WAGTAIL_PRIVATE_PAGE_OPTIONS = {"SHARED_PASSWORD": False}

자세한 내용은 비공개 페이지를 참조하십시오.

WAGTAILDOCS_PRIVATE_COLLECTION_OPTIONS

사용자가 공유 암호를 사용하여 컬렉션(문서에 사용됨)을 비공개로 설정하는 기능을 원하지 않는 경우 이 설정을 사용하여 비활성화할 수 있습니다.

WAGTAILDOCS_PRIVATE_COLLECTION_OPTIONS = {"SHARED_PASSWORD": False}

자세한 내용은 비공개 페이지를 참조하십시오.

태그

TAGGIT_CASE_INSENSITIVE

TAGGIT_CASE_INSENSITIVE = True

태그는 기본적으로 대소문자를 구분합니다(‘music’과 ‘Music’은 별개의 태그로 처리됨). 많은 경우 반대 동작이 더 바람직합니다.

WAGTAIL_TAG_SPACES_ALLOWED

버전 7.0에서 변경: 설정 이름이 TAG_SPACES_ALLOWED 에서 WAGTAIL_TAG_SPACES_ALLOWED 로 변경되었습니다.

WAGTAIL_TAG_SPACES_ALLOWED = False

태그는 단일 단어로만 구성될 수 있으며 공백은 허용되지 않습니다. 기본 설정은 True(태그에 공백 허용)입니다.

WAGTAIL_TAG_LIMIT

버전 7.0에서 변경: 설정 이름이 TAG_LIMIT 에서 WAGTAIL_TAG_LIMIT 으로 변경되었습니다.

WAGTAIL_TAG_LIMIT = 5

(django-taggit) Tag 모델에 추가할 수 있는 태그 수를 제한합니다. 기본 설정은 None 이며, 태그에 제한이 없음을 의미합니다.

정적 파일

WAGTAILADMIN_STATIC_FILE_VERSION_STRINGS

WAGTAILADMIN_STATIC_FILE_VERSION_STRINGS = False

Wagtail 관리자 내의 정적 파일 URL에는 ?v=1a2b3c4d 형식의 버전별 쿼리 문자열이 지정되어 Wagtail 업그레이드 후 오래된 캐시된 JavaScript 및 CSS 파일이 지속되는 것을 방지합니다. 이를 비활성화하려면 WAGTAILADMIN_STATIC_FILE_VERSION_STRINGSFalse 로 설정하십시오.

API

API 구성에 대한 전체 문서는 이러한 설정을 포함하여 Wagtail API v2 설정 가이드 문서를 참조하십시오.

WAGTAILAPI_BASE_URL

WAGTAILAPI_BASE_URL = 'http://api.example.com/'

프런트엔드 캐시 무효화를 사용할 때 필요하며, 문서 파일에 대한 절대 URL을 생성하고 캐시를 무효화하는 데 사용됩니다.

WAGTAILAPI_LIMIT_MAX

WAGTAILAPI_LIMIT_MAX = 500

기본값은 20이며, 사용자가 한 번에 요청할 수 있는 최대 결과 수를 변경하는 데 사용됩니다. 제한이 없으려면 None 으로 설정하십시오. 이 설정이 완료되면 ?limit?offset 쿼리 매개변수와 결합하여 원하는 결과 수를 검색하십시오.

WAGTAILAPI_SEARCH_ENABLED

WAGTAILAPI_SEARCH_ENABLED = False

기본값은 true이며, 이 값을 false로 설정하면 모든 엔드포인트에서 전체 텍스트 검색이 비활성화됩니다.

WAGTAILAPI_USE_FRONTENDCACHE

WAGTAILAPI_USE_FRONTENDCACHE = True

wagtailfrontendcache 앱이 설치되어 있어야 하며, API가 프런트엔드 캐시를 사용해야 함을 나타냅니다.

프런트엔드 캐시

프런트엔드 캐시 무효화에 대한 전체 문서는 이러한 설정을 포함하여 프런트엔드 캐시 무효화를 참조하십시오.

WAGTAILFRONTENDCACHE

  WAGTAILFRONTENDCACHE = {
      'varnish': {
          'BACKEND': 'wagtail.contrib.frontend_cache.backends.HTTPBackend',
          'LOCATION': 'http://localhost:8000',
      },
  }

사용 가능한 전체 옵션은 위에 링크된 문서를 참조하십시오.

참고

WAGTAILFRONTENDCACHE_LOCATION 은 더 이상 캐시 위치를 설정하는 데 선호되는 방법이 아니며, 대신 WAGTAILFRONTENDCACHE 항목 내에 LOCATION 을 설정하십시오.

WAGTAILFRONTENDCACHE_LANGUAGES

WAGTAILFRONTENDCACHE_LANGUAGES = [l[0] for l in settings.LANGUAGES]

기본값은 빈 목록이며, 무효화 URL의 각 언어에 대한 URL도 무효화하려면 언어 목록이 있어야 합니다. 이 설정은 작동하려면 settings.USE_I18NTrue 여야 합니다.

리디렉션

WAGTAIL_REDIRECTS_FILE_STORAGE

WAGTAIL_REDIRECTS_FILE_STORAGE = 'tmp_file'

기본적으로 리디렉션 가져오기 도구는 업로드된 파일을 임시 파일로 추적하지만, 특정 환경(로드 밸런싱/클라우드 환경)에서는 환경 간에 공유 파일을 유지할 수 없습니다. 이러한 경우 대신 내장 캐시를 사용하여 파일을 저장할 수 있습니다.

WAGTAIL_REDIRECTS_FILE_STORAGE = 'cache'

폼 빌더

WAGTAILFORMS_HELP_TEXT_ALLOW_HTML

WAGTAILFORMS_HELP_TEXT_ALLOW_HTML = True

True인 경우 폼 필드 도움말 텍스트의 HTML 태그는 이스케이프되지 않고 렌더링됩니다(기본값: False).

경고

이 옵션을 활성화하면 편집자가 페이지에 임의의 HTML을 삽입할 수 있으며, 다른 관리자가 페이지를 볼 때 편집자가 관리자 권한을 획득할 수 있는 스크립트와 같은 스크립트도 포함됩니다. 편집자를 완전히 신뢰하지 않는 한 이 설정을 활성화하지 마십시오.

워크플로

WAGTAIL_WORKFLOW_ENABLED

WAGTAIL_WORKFLOW_ENABLED = True

중재 워크플로가 활성화되었는지 여부를 지정합니다(기본값: True). 비활성화되면 편집자는 더 이상 페이지를 워크플로에 제출하는 옵션을 사용할 수 없으며, 관리자가 워크플로 및 작업을 구성하는 설정 영역을 사용할 수 없게 됩니다.

WAGTAIL_WORKFLOW_REQUIRE_REAPPROVAL_ON_EDIT

WAGTAIL_WORKFLOW_REQUIRE_REAPPROVAL_ON_EDIT = True

중재 워크플로는 두 가지 모드로 사용할 수 있습니다. 첫 번째는 워크플로가 완료되려면 모든 작업이 특정 페이지 개정을 승인해야 한다는 것입니다. 결과적으로 중재 중인 페이지에 편집이 이루어지면 워크플로가 완료되기 전에 새 개정에 대해 승인된 모든 작업을 다시 승인해야 합니다. 이 모드에서 워크플로를 사용하려면 WAGTAIL_WORKFLOW_REQUIRE_REAPPROVAL_ON_EDIT = True 로 설정하십시오. 두 번째 모드는 재승인을 요구하지 않습니다. 작업이 이미 승인된 상태에서 편집이 이루어지면 해당 작업은 다시 승인할 필요가 없습니다. 이는 계층적 워크플로 시스템에 더 적합합니다. 이것이 기본값인 WAGTAIL_WORKFLOW_REQUIRE_REAPPROVAL_ON_EDIT = False 입니다.

WAGTAIL_FINISH_WORKFLOW_ACTION

WAGTAIL_FINISH_WORKFLOW_ACTION = 'wagtail.workflows.publish_workflow_state'

이는 워크플로가 성공적으로 완료될 때 호출될 함수를 설정합니다. 기본적으로 wagtail.workflows.publish_workflow_state 이며, 페이지를 게시합니다. 함수는 WorkflowState 객체를 유일한 위치 인수로 받아야 합니다.

WAGTAIL_WORKFLOW_CANCEL_ON_PUBLISH

WAGTAIL_WORKFLOW_CANCEL_ON_PUBLISH = True

진행 중인 워크플로가 있는 페이지를 게시할 때 워크플로를 취소할지(True인 경우) 또는 워크플로에 영향을 미치지 않을지(False인 경우) 결정합니다. 사이트에 길고 다단계 워크플로가 있고 워크플로가 덜 긴급한 피드백을 계속 제공하는 동안 긴급한 페이지 업데이트를 게시할 수 있어야 하는 경우 이 기능을 비활성화하는 것이 유용할 수 있습니다.

스니펫

WAGTAILSNIPPETS_MENU_SHOW_ALL

WAGTAILSNIPPETS_MENU_SHOW_ALL = False

사이드바 “스니펫” 메뉴 항목은 스니펫 모델이 자체 메뉴 항목 없이 존재하는 경우에만 표시되며, 기본적으로 해당 뷰에는 해당 모델만 포함됩니다. 이 설정은 “스니펫” 메뉴 항목을 항상 표시하고, 사용자가 추가, 보기 또는 변경할 권한이 있는 모든 스니펫 모델을 뷰에 포함하도록 True 로 설정할 수 있습니다.