계층, 편집 및 다시 로드를 위한 AppEngine 애플리케이션의 Go 템플릿 구조화
이 문서에서는 Go 기반 AppEngine의 템플릿 구조화에 대해 자세히 설명합니다. 응용 프로그램, 계층 구조 처리, 편집 용이성 및 자동 템플릿 다시 로드 중입니다.
계층 구조
템플릿의 계층 구조를 만들려면 전용 템플릿 하위 디렉터리 아래 패키지의 루트 디렉터리에 템플릿을 저장하는 것이 좋습니다. 이를 통해 정리된 구성이 가능하고 template.ParseFiles()를 통한 탐색이 단순화됩니다.
편집 용이성
.go 파일에 템플릿 텍스트를 삽입하면 HTML 도구를 사용하여 편집하는 데 방해가 될 수 있습니다. 이 문제를 해결하려면 템플릿을 템플릿 하위 디렉터리에 원시 텍스트 파일로 저장하세요. 성능 문제로 인해 템플릿을 직접 업로드하지 않는 것이 좋지만 대체 접근 방식이 있습니다.
자동 다시 로드
개발 서버에서 자동 템플릿 다시 로드는 다음을 정의하여 수행할 수 있습니다. 패키지 수준 템플릿 변수. 이 변수는 패키지 초기화 중에 채워지고 템플릿 변경 시 업데이트됩니다.
프로젝트 구조 예
다음 프로젝트 구조를 고려하세요.
|-- app.yaml |-- app | +-- http.go |-- templates | +-- base.html +-- github.com +-- storeski +-- appengine |-- products | +-- http.go | +-- templates | |-- list.html | |-- detail.html +-- account |-- http.go +-- templates |-- overview.html |-- notifications.html
패키지 소유권을 통한 모듈식 접근 방식
권장되는 접근 방식은 패키지를 사용하여 특정 URL 접두사를 처리하는 것입니다. 각 패키지는 해당 템플릿이 있는 전용 템플릿 하위 디렉터리를 소유합니다. 이러한 모듈화를 통해 패키지 기능에 특정한 템플릿 처리가 가능해집니다.
기본 템플릿 확장
일관성을 유지하려면 다른 템플릿이 확장할 수 있는 기본 템플릿을 설정하세요. 예를 들어, template/base.html 템플릿을 정의하고 확장 템플릿 기능을 사용하여 다른 템플릿이 이 템플릿에서 상속받도록 할 수 있습니다.
코드 예
다음은 다음의 예입니다. 기본 템플릿을 정의하고 내에서 추가 템플릿을 구문 분석합니다. 핸들러:
templates/base.html
<!DOCTYPE HTML> <html> <head>
위 내용은 계층 구조, 손쉬운 편집 및 자동 다시 로드를 위해 App Engine에서 Go 템플릿을 효과적으로 구성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!