[go] html/template 패키지의 템플릿 경로 설정

go 언어의 html/template 패키지를 사용하여 웹 애플리케이션을 개발할 때, 템플릿 파일의 경로를 설정하는 방법에 대해 알아보겠습니다.

템플릿 파일 경로 설정

go에서는 html/template 패키지를 사용하여 웹 페이지의 템플릿을 다룰 수 있습니다. 템플릿 파일이 위치한 경로를 설정하여 해당 경로에 있는 템플릿 파일을 로드할 수 있습니다.

템플릿 파일이 위치한 폴더 경로를 설정하기 위해서는 먼저 template.ParseFiles 함수를 사용하여 템플릿을 파싱해야 합니다. 파싱할 때에는 템플릿 파일의 절대 경로를 사용하므로 폴더 경로와 템플릿 파일 이름을 합친 경로를 설정해야 합니다.

예를 들어, templates 폴더에 index.html 파일이 있다면 다음과 같이 템플릿을 파싱할 수 있습니다.

t, err := template.ParseFiles("templates/index.html")

경로를 상대 경로가 아니라 절대 경로로 설정하는 것이 좋습니다. 절대 경로를 설정하려면 os 패키지의 Getwd 함수를 사용하여 현재 작업 디렉토리를 가져온 후, path.Join 함수로 템플릿 파일의 경로를 조합할 수 있습니다.

dir, err := os.Getwd()
if err != nil {
    log.Fatal(err)
}
t, err := template.ParseFiles(path.Join(dir, "templates", "index.html"))

템플릿 파일이 많은 경우 매번 경로를 설정하는 것은 번거로우므로, 템플릿 파일이 있는 디렉토리의 상위 경로를 설정하여 일관된 경로를 유지하는 것이 좋습니다.

결론

go의 html/template 패키지를 사용하여 템플릿 파일의 경로를 설정하는 방법을 살펴보았습니다. 유연한 파일 경로 설정을 통해 효율적인 웹 애플리케이션을 개발할 수 있습니다.