英文:
load html code into gin framework template
问题
我是你的中文翻译助手,以下是翻译好的内容:
我刚开始学习Go语言和Gin框架。我有一个HTML文件,内容如下:
example.html
<div>
<p>测试文本</p>
<p><img src="https://clipartcraft.com/images/google-logo-transparent-alphabet.png" alt="sampleImage"/></p>
<p>测试文本</p>
</div>
我想将这个HTML文件加载到模板的内容部分中。
index.tmpl
<html>
<h1>
{{ .title }}
</h1>
{{ .content }}
</html>
使用以下代码:
main.go
package main
import (
"net/http"
"os"
"github.com/gin-gonic/gin"
)
func check(e error) {
if e != nil {
panic(e)
}
}
func main() {
dat, err := os.ReadFile("./example.html")
check(err)
router := gin.Default()
router.LoadHTMLGlob("templates/*")
router.GET("/index", func(c *gin.Context) {
c.HTML(http.StatusOK, "index.tmpl", gin.H{
"title": "主要网站",
"content": string(dat),
})
})
router.Run(":8080")
}
但是它不起作用,Gin显示源代码(HTML),而不是将其渲染为HTML文件,例如图像等。我应该如何加载HTML代码到我的模板中,以便Gin将其作为HTML渲染?
HTML代码可以从文件中读取(就像这个示例)或稍后从数据库中调用。
英文:
I am new to go and [gin framework]https://gin-gonic.com/
I have an HTML file like this
example.html
<div>
<p> text for test <p>
<p><img src="https://clipartcraft.com/images/google-logo-transparent-alphabet.png" alt="sampleImage"/></p>
<p> text for test <p>
</div>
that I want load that in content part of this template
index.tmpl
<html>
<h1>
{{ .title }}
</h1>
{{ .content }}
</html>
with this code:
main.go
package main
import (
"net/http"
"os"
"github.com/gin-gonic/gin"
)
func check(e error) {
if e != nil {
panic(e)
}
}
func main() {
dat, err := os.ReadFile("./example.html")
check(err)
router := gin.Default()
router.LoadHTMLGlob("templates/*")
router.GET("/index", func(c *gin.Context) {
c.HTML(http.StatusOK, "index.tmpl", gin.H{
"title": "Main website",
"content": string(dat),
})
})
router.Run(":8080")
}
It is not work and gin show source code(html) not render as HTML file like image etc...
How should load an HTML code in my template that gin render this as HTML.
HTML code can be read from a file (like this example) or call from a database later
答案1
得分: 2
感谢mkopriva
"content": template.HTML(dat),
英文:
Thanks mkopriva
"content": template.HTML(dat),
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论