[go] 템플릿 콘텍스트 상속

웹 애플리케이션에서 템플릿 콘텍스트 상속은 코드 재사용을 통해 효율적인 웹 페이지 디자인을 지원합니다. Go 언어의 템플릿 엔진을 사용하여 템플릿 콘텍스트를 상속하는 방법에 대해 알아봅시다.

템플릿 상속 개요

템플릿 상속은 부모 템플릿에 정의된 구조와 레이아웃을 자식 템플릿이 상속하여 사용하는 기능입니다. 부모 템플릿은 템플릿의 기본 구조를 정의하고, 자식 템플릿은 부모 템플릿을 확장하여 필요한 내용을 추가하거나 재정의할 수 있습니다.

Go 언어의 템플릿 콘텍스트 상속

Go 언어에서는 html/template 패키지를 사용하여 템플릿을 처리하고 렌더링합니다. 템플릿 상속을 구현하려면 다음과 같은 단계를 따릅니다.

  1. 부모 템플릿 작성: 기본적인 페이지 구조를 정의하는 부모 템플릿을 작성합니다. 예를 들어, base.html 파일에 기본 레이아웃을 정의합니다.

{{ define "base" }}
<!DOCTYPE html>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <header>
        <!-- Header content -->
    </header>
    <main>
        {{ template "content" . }}
    </main>
    <footer>
        <!-- Footer content -->
    </footer>
</body>
</html>
{{ end }}

  1. 자식 템플릿 작성: 부모 템플릿을 상속하는 자식 템플릿을 작성합니다. 필요한 내용을 추가하거나 재정의합니다. 예를 들어, page.html 파일에 자식 템플릿을 정의합니다.

{{ define "content" }}
    <h1>Hello, World!</h1>
{{ end }}

{{ template "base" . }}

자식 템플릿에서 {{ template "base" . }} 코드를 사용하여 부모 템플릿을 확장합니다.

결론

Go 언어의 템플릿 엔진을 사용하여 템플릿 콘텍스트를 상속하는 방법을 살펴보았습니다. 템플릿 상속을 통해 코드의 재사용성이 높아지며, 웹 애플리케이션의 유지보수 및 확장성을 향상시킬 수 있습니다. 필요에 따라 템플릿 상속을 활용하여 효율적인 웹 페이지를 디자인할 수 있습니다.

참고 문헌: Go 템플릿 레이아웃 상속 - 나무위키