[go] 템플릿 콘텍스트 변경
웹 애플리케이션을 개발하다 보면 템플릿에서 렌더링되는 콘텍스트를 변경해야 하는 경우가 있습니다. 이러한 상황에서는 어떻게 하면 될까요? 이 글에서는 Go 언어로 작성된 웹 애플리케이션에서 템플릿 콘텍스트를 변경하는 방법에 대해 알아보겠습니다.
템플릿 콘텍스트란?
웹 애플리케이션에서 템플릿은 주로 HTML을 기반으로 하며, 이 템플릿에 데이터를 전달하여 동적인 컨텐츠를 생성할 수 있습니다. 이때 데이터를 담고 있는 객체를 콘텍스트라고 합니다. Go의 템플릿 엔진인 html/template
을 사용할 때도 템플릿에 전달되는 콘텍스트를 변경할 수 있습니다.
콘텍스트 변경하기
html/template
패키지를 사용하여 템플릿을 만들고 렌더링할 때, 콘텍스트를 변경하기 위해 다음과 같은 단계를 따릅니다.
- 콘텍스트를 담은 구조체 정의
type Context struct { Title string Content string }
- 템플릿 파일 작성
<html> <head> <title>{{.Title}}</title> </head> <body> <p>{{.Content}}</p> </body> </html>
- 콘텍스트를 템플릿에 적용하여 렌더링
func renderTemplate(w http.ResponseWriter, r *http.Request) { context := Context{ Title: "템플릿 콘텍스트 변경", Content: "이 글에서는 Go 언어로 작성된 웹 애플리케이션에서 템플릿 콘텍스트를 변경하는 방법에 대해 알아봅니다.", } tmpl, _ := template.New("index").ParseFiles("index.html") tmpl.Execute(w, context) }
위 예제에서는 Context
구조체를 정의하고, 그 구조체를 템플릿에 전달하여 콘텍스트를 변경하였습니다.
결론
Go 언어로 작성된 웹 애플리케이션에서는 html/template
패키지를 사용하여 템플릿을 렌더링할 수 있습니다. 이때 콘텍스트를 변경하여 동적인 컨텐츠를 생성할 수 있으며, 위에서 설명한 방법을 활용하여 콘텍스트를 효과적으로 변경할 수 있습니다.
템플릿 콘텍스트를 변경하는 방법에 대해 알아본 것이 도움이 되었기를 바라며, 좋은 개발 경험을 만들어보시기 바랍니다.
참고 문헌:
- https://pkg.go.dev/html/template