프로젝트 템플릿

기본적으로 wagtail start 명령(예: wagtail start mysite)을 실행하면 다음과 같은 구조의 새 Django 프로젝트가 생성됩니다.

mysite/
    home/
        migrations/
            __init__.py
            0001_initial.py
            0002_create_homepage.py
        templates/
            home/
                home_page.html
        __init__.py
        models.py
    search/
        templates/
            search/
                search.html
        __init__.py
        views.py
    mysite/
        settings/
            __init__.py
            base.py
            dev.py
            production.py
        static/
            css/
                mysite.css
            js/
                mysite.js
        templates/
            404.html
            500.html
            base.html
        __init__.py
        urls.py
        wsgi.py
    Dockerfile
    manage.py
    requirements.txt

사용자 지정 템플릿 사용

대신 사용자 지정 템플릿을 사용하려면 wagtail start 명령을 실행할 때 --template 옵션을 지정할 수 있습니다. 이 옵션은 사용자 지정 프로젝트 템플릿의 디렉터리, 파일 경로 또는 URL을 허용합니다(django-admin startproject --template 와 유사).

예를 들어, GitHub 리포지토리로 호스팅되는 사용자 지정 템플릿의 경우 다음과 같은 URL을 사용할 수 있습니다.

wagtail start myproject --template=https://github.com/githubuser/wagtail-awesome-template/archive/main.zip

프로젝트에 사용할 수 있는 사용자 지정 템플릿 목록은 템플릿(시작 명령)을 참조하십시오.

기본 프로젝트 템플릿

다음 섹션은 기본 프로젝트 템플릿에 대한 참조입니다.

“home” 앱

위치: /mysite/home/

이 앱은 앱을 처음 설정할 때 홈페이지를 만들고 Wagtail이 사용하도록 구성하는 마이그레이션과 함께 HomePage 모델을 제공하여 더 빠르게 시작할 수 있도록 돕습니다.

기본 템플릿 및 정적 파일

위치: /mysite/mysite/templates//mysite/mysite/static/

templates 디렉터리에는 base.html, 404.html500.html 이 포함되어 있습니다. 이 파일들은 Wagtail 사이트에서 매우 일반적으로 필요하므로 템플릿에 추가되었습니다.

static 디렉터리에는 비어 있는 JavaScript 및 CSS 파일이 포함되어 있습니다.

Django 설정

위치: /mysite/mysite/settings/

Django 설정 파일은 base.py, dev.py, production.pylocal.py 로 분할됩니다.

  • base.py 이 파일은 개발 및 프로덕션 모두에서 사용될 전역 설정용입니다. 대부분의 구성을 이 파일에 유지하는 것을 목표로 합니다.

  • dev.py 이 파일은 개발자만 사용할 설정용입니다. 예: DEBUG = True

  • production.py 이 파일은 프로덕션 서버에서만 실행될 설정용입니다. 예: DEBUG = False

  • local.py 이 파일은 특정 머신에 로컬인 설정용입니다. 이 파일은 버전 제어 시스템에서 추적되어서는 안 됩니다.

참고

프로덕션 서버에서는 local.py 에만 비밀(예: API 키 및 암호)을 저장하는 것이 좋습니다. 이렇게 하면 서버가 제대로 작동하지 않는 이유를 디버깅하려고 할 때 나중에 골치 아픈 일을 피할 수 있습니다. 다른 설정이 필요한 여러 서버를 사용하는 경우 각 서버에 대해 다른 production.py 파일을 만드는 것이 좋습니다.

Dockerfile

위치: /mysite/Dockerfile

사이트를 Docker 컨테이너로 빌드하고 배포하기 위한 구성을 포함합니다. 프로젝트의 Docker 이미지를 빌드하고 사용하려면 다음을 실행하십시오.

docker build -t mysite .
docker run -p 8000:8000 mysite

사용자 지정 템플릿 작성

사용자 지정 템플릿의 몇 가지 예시.

사용자 지정 템플릿을 생성하려고 할 때 오류가 발생할 수 있습니다. 이는 --template 옵션이 사용자 지정 템플릿의 템플릿 파일을 구문 분석하려고 시도하기 때문입니다. 이 오류를 피하려면 각 템플릿 파일의 코드를 다음과 같이 {% verbatim %}{% endverbatim %} 태그로 래핑하십시오.

{% verbatim %}
{% extends "base.html" %}

{% load wagtailcore_tags %}

{% block body_class %}template-blogindexpage{% endblock %}

{% block content %}
    <h1>{{ page.title }}</h1>
    <div class="intro">{{ page.intro|richtext }}</div>
    {% for post in page.get_children %}
        <h2><a href="{% pageurl post %}">{{ post.title }}</a></h2>
        {{ post.specific.intro }}
        {{ post.specific.body }}
    {% endfor %}
{% endblock %}
{% endverbatim %}