Search code examples
gogo-templatescaddy

Get {{.Host}} inside a range loop - Caddy server browse template


So I can use {{.Host}} just fine in the template file, but once inside a {{range .Items}} loop it doesn't work since it's trying to get the .Host from the .Items (array?)thing..

I get this as an error

template: listing:41:46: executing "listing" at <.Host>: can't evaluate field Host in type browse.FileInfo

I've never used Go before, I've tried reading the text template documentation page but it's all rather confusing.


Solution

  • {{range}} changes the pipeline (the dot, .) to the current Items. You can use {{$.Host}} which will refer to the "top-level" Host.

    {{$.Host}}
    

    golang template.