(project_templates_reference)= # 프로젝트 템플릿 기본적으로 [`wagtail start`](wagtail_start) 명령(예: `wagtail start mysite`)을 실행하면 다음과 같은 구조의 새 Django 프로젝트가 생성됩니다. ```text 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을 허용합니다({option}`django-admin startproject --template ` 와 유사). 예를 들어, GitHub 리포지토리로 호스팅되는 사용자 지정 템플릿의 경우 다음과 같은 URL을 사용할 수 있습니다. ```shell wagtail start myproject --template=https://github.com/githubuser/wagtail-awesome-template/archive/main.zip ``` 프로젝트에 사용할 수 있는 사용자 지정 템플릿 목록은 [템플릿(시작 명령)](https://github.com/springload/awesome-wagtail#templates-start-command)을 참조하십시오. ## 기본 프로젝트 템플릿 다음 섹션은 기본 프로젝트 템플릿에 대한 참조입니다. ### "home" 앱 위치: `/mysite/home/` 이 앱은 앱을 처음 설정할 때 홈페이지를 만들고 Wagtail이 사용하도록 구성하는 마이그레이션과 함께 `HomePage` 모델을 제공하여 더 빠르게 시작할 수 있도록 돕습니다. ### 기본 템플릿 및 정적 파일 위치: `/mysite/mysite/templates/` 및 `/mysite/mysite/static/` `templates` 디렉터리에는 `base.html`, `404.html` 및 `500.html` 이 포함되어 있습니다. 이 파일들은 Wagtail 사이트에서 매우 일반적으로 필요하므로 템플릿에 추가되었습니다. `static` 디렉터리에는 비어 있는 JavaScript 및 CSS 파일이 포함되어 있습니다. ### Django 설정 위치: `/mysite/mysite/settings/` Django 설정 파일은 `base.py`, `dev.py`, `production.py` 및 `local.py` 로 분할됩니다. - `base.py` 이 파일은 개발 및 프로덕션 모두에서 사용될 전역 설정용입니다. 대부분의 구성을 이 파일에 유지하는 것을 목표로 합니다. - `dev.py` 이 파일은 개발자만 사용할 설정용입니다. 예: `DEBUG = True` - `production.py` 이 파일은 프로덕션 서버에서만 실행될 설정용입니다. 예: `DEBUG = False` - `local.py` 이 파일은 특정 머신에 로컬인 설정용입니다. 이 파일은 버전 제어 시스템에서 추적되어서는 안 됩니다. ```{note} 프로덕션 서버에서는 `local.py` 에만 비밀(예: API 키 및 암호)을 저장하는 것이 좋습니다. 이렇게 하면 서버가 제대로 작동하지 않는 이유를 디버깅하려고 할 때 나중에 골치 아픈 일을 피할 수 있습니다. 다른 설정이 필요한 여러 서버를 사용하는 경우 각 서버에 대해 다른 `production.py` 파일을 만드는 것이 좋습니다. ``` ### Dockerfile 위치: `/mysite/Dockerfile` 사이트를 [Docker](https://docs.docker.com/) 컨테이너로 빌드하고 배포하기 위한 구성을 포함합니다. 프로젝트의 Docker 이미지를 빌드하고 사용하려면 다음을 실행하십시오. ```sh docker build -t mysite . docker run -p 8000:8000 mysite ``` ## 사용자 지정 템플릿 작성 사용자 지정 템플릿의 몇 가지 예시. - [github.com/thibaudcolas/wagtail-tutorial-template](https://github.com/thibaudcolas/wagtail-tutorial-template) - [github.com/torchbox/wagtail-news-template](https://github.com/torchbox/wagtail-news-template) 사용자 지정 템플릿을 생성하려고 할 때 오류가 발생할 수 있습니다. 이는 `--template` 옵션이 사용자 지정 템플릿의 템플릿 파일을 구문 분석하려고 시도하기 때문입니다. 이 오류를 피하려면 각 템플릿 파일의 코드를 다음과 같이 `{% verbatim %}{% endverbatim %}` 태그로 래핑하십시오. ```html+django {% verbatim %} {% extends "base.html" %} {% load wagtailcore_tags %} {% block body_class %}template-blogindexpage{% endblock %} {% block content %}

{{ page.title }}

{{ page.intro|richtext }}
{% for post in page.get_children %}

{{ post.title }}

{{ post.specific.intro }} {{ post.specific.body }} {% endfor %} {% endblock %} {% endverbatim %} ```