관리 명령¶
start¶
기본적으로 start 명령은 models.py, 템플릿, 설정(settings) 파일이 포함된 프로젝트 템플릿을 생성합니다. 예를 들어, mysite 라는 새 Wagtail 프로젝트를 생성하려면 다음과 같이 명령을 사용합니다:
wagtail start mysite
start 명령에 --template 옵션을 사용하여 사용자 정의 템플릿을 생성할 수도 있습니다. 명령이 기본 템플릿 및 사용자 정의 템플릿과 어떻게 작동하는지에 대한 자세한 내용은 The project template을 참조하세요.
publish_scheduled¶
./manage.py publish_scheduled
이 명령은 편집자가 예약한 작업을 가진 객체(object)를 게시, 업데이트 또는 게시 취소합니다. 이 명령을 한 시간마다 실행하는 것을 권장합니다.
fixtree¶
./manage.py fixtree
이 명령은 데이터베이스의 오류를 스캔하고 발견된 모든 문제를 수정하려고 시도합니다.
move_pages¶
manage.py move_pages from to
이 명령은 페이지(page) 선택 항목을 트리의 한 섹션에서 다른 섹션으로 이동합니다.
옵션:
from 이것은 페이지를 이동할 페이지의 ID입니다. 이 페이지의 모든 하위 항목은 대상(destination)으로 이동됩니다. 작업이 완료되면 이 페이지에는 자식(children)이 없습니다.
to 이것은 페이지를 이동할 페이지의 ID입니다.
purge_revisions¶
manage.py purge_revisions [--days=<삭제할 일수>] [--pages] [--non-pages]
이 명령은 검토 중이거나, 활성화(live) 상태이거나, 활성화가 승인되었거나, 최신 리비전(revision)이 아닌 오래된 리비전을 삭제합니다.
days 인수가 제공되면 지정된 일수보다 오래된 리비전만 삭제됩니다.
중요한 리비전이 오래되어 삭제되는 것을 방지하려면 on_delete=models.PROTECT 를 사용하여 모델의 ForeignKey 로 해당 리비전을 참조할 수 있습니다.
pages 인수가 제공되면 페이지 모델의 리비전만 삭제됩니다. non-pages 인수가 제공되면 페이지 모델이 아닌 리비전만 삭제됩니다. 두 인수가 모두 제공되거나 둘 다 제공되지 않으면 모든 모델의 리비전이 삭제됩니다.
리비전 삭제를 원하지 않는 경우 Revision 을 on_delete=models.PROTECT 로 표시하세요.
purge_embeds¶
manage.py purge_embeds
이 명령은 데이터베이스에서 캐시된 모든 임베드(embed) 객체를 삭제합니다. 임베드 설정(settings)이 변경된 후에는 이 명령을 실행하여 이후의 임베드 사용이 데이터베이스 캐시에서 이루어지지 않도록 하는 것이 좋습니다.
update_index¶
./manage.py update_index [--backend <백엔드 이름>]
이 명령은 검색 인덱스(search index)를 처음부터 다시 빌드합니다.
이 명령은 일주일에 한 번, 그리고 다음 경우에 실행하는 것을 권장합니다:
스크립트를 통해 페이지(page)가 생성된 경우 (예: 가져오기(import) 후)
모델(model) 또는 검색(search) 구성이 변경된 경우
이 명령이 실행되는 동안 검색이 결과를 반환하지 않을 수 있으므로, 사용량이 많은 시간에는 실행을 피하세요.
업데이트할 백엔드(backend) 지정¶
기본적으로 update_index 는 WAGTAILSEARCH_BACKENDS 에 나열된 모든 검색 인덱스를 다시 빌드합니다.
여러 백엔드를 사용하고 있으며 그 중 하나만 업데이트하려면 --backend 옵션을 사용할 수 있습니다.
예를 들어, 기본 백엔드만 업데이트하려면:
python manage.py update_index --backend default
--chunk_size 옵션은 한 번에 인덱싱되는 청크(chunk)의 크기를 설정하는 데 사용될 수 있습니다. 기본값은 1000이지만, 문서 크기가 더 큰 경우에는 줄여야 할 수도 있습니다.
스키마(schema)만 인덱싱¶
--schema-only 옵션을 사용하여 update_index 명령이 데이터를 인덱싱하지 못하도록 할 수 있습니다:
python manage.py update_index --schema-only
명령 조용하게 실행¶
--verbosity 0 을 인수로 제공하여 콘솔 로그를 방지할 수 있습니다:
python manage.py update_index --verbosity 0
이것을 생략하거나 0보다 큰 숫자를 제공하면 동일한 로그가 생성됩니다.
wagtail_update_index¶
이것은 Haystack과 같이 다른 설치된 패키지에서 update_index 라는 명령을 제공할 때 사용할 수 있는 update_index 명령의 별칭(alias)입니다. 이 경우, 다른 패키지의 INSTALLED_APPS 항목은 wagtail.search 위에 나타나서 해당 패키지의 update_index 명령이 Wagtail의 명령보다 우선순위를 갖도록 해야 합니다.
rebuild_references_index¶
./manage.py rebuild_references_index
이 명령은 이미지(image), 문서(document) 및 스니펫(snippet)에 대한 사용 보고서에 사용되는 객체 간의 교차 참조를 추적하는 테이블을 채웁니다. 이 테이블은 객체 저장 시 자동으로 업데이트되지만, 데이터 일관성을 유지하기 위해 이 명령을 주기적으로 실행하는 것을 권장합니다.
명령 조용하게 실행¶
--verbosity 0 을 인수로 제공하여 콘솔 로그를 방지할 수 있습니다:
python manage.py rebuild_references_index --verbosity 0
show_references_index¶
./manage.py show_references_index
이것은 참조 인덱스(references index) 내용의 요약을 표시합니다. 이 명령은 각 모델(model) 유형에 대해 인덱싱된 객체(object) 수를 보여주며, 인덱스를 다시 빌드하지 않고 어떤 모델이 인덱싱되는지 식별하는 데 유용할 수 있습니다.
wagtail_update_image_renditions¶
./manage.py wagtail_update_image_renditions
이 명령은 이미지(image) 렌디션(rendition)을 재생성하는 기능을 제공합니다. 이는 이미지 렌디션이 아직 생성되지 않은 서버에 배포했거나, 기본 이미지 렌디션 동작을 변경하여 모든 렌디션을 다시 생성해야 할 때 유용합니다.
이것은 사용되지 않는 렌디션 이미지를 제거하지 않습니다. 이것은 rm -rf 등과 같이 폴더를 지워서 수행할 수 있으며, 이 작업이 완료되면 관리 명령을 사용하여 렌디션을 생성할 수 있습니다.
옵션:
--purge-only: 이 인수는 모든 이미지 렌디션을 재생성하지 않고 삭제합니다. 렌디션은 다음에 요청될 때 재생성됩니다.
convert_mariadb_uuids¶
./manage.py convert_mariadb_uuids
MariaDB를 사용하는 사이트의 경우, 이 명령은 Django 5.0 및 MariaDB 10.7로 업그레이드할 때 이전 버전의 Django 또는 MariaDB에서 한 번 실행해야 합니다. 이는 Django 5.0이 MariaDB의 네이티브 UUID 유형을 지원하기 시작하면서 이전 버전의 Django 및 MariaDB에서 사용되던 CHAR 기반 UUID와의 하위 호환성이 깨지기 때문에 필요합니다. Django 5.0+ 및 MariaDB 10.7+에서 새로 생성된 사이트는 영향을 받지 않습니다.