Evitar o escape de barras nos modelos
Estou trabalhando na conversão de um projeto meu de Python para Go, apenas para me ajudar a me familiarizar um pouco com a linguagem. Um problema que estou enfrentando atualmente é que ele está escapando das minhas barras. Portanto, ele receberá uma string como:
/location/to/something
e então se torna
%2flocation%2fto%2fsomething
Agora, ele só está fazendo isso quando está em um link (pelo que eu tenho lido essa fuga é contextual), então é assim que a linha no modelo HTML se parece:
<tr><td><a href="/file?file={{.FullFilePath}}">{{.FileName}}</a></td></tr>
Se possível, como posso evitar isso no modelo ou no próprio código?
É assim que minha função de modelagem se parece (sim, eu sei que é uma loucura)
func renderTemplate(w http.ResponseWriter, tmpl string) {
t, err := template.ParseFiles(templates_dir+"base.html", templates_dir+tmpl)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
if tmpl == "view.html" {
err = t.Execute(w, FileList)
} else {
err = t.Execute(w, nil)
}
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
}
}