gin对html进行渲染

我想使用gin对html进行渲染,情景如下:

func SerchInfo(ctl stringstring{
    //数据库查询代码
    //通过ctl查询数据库,并返回结果,所有ctl指令都只查询一个字段
    return "result"
    //此函数通过SetFuncMap进行绑定
}
// 路由解析代码
r.GET("/blog" func(c *gin.Context) {
    get_id := c.Param("id")
    c.HTML(http.StatusOK, "template.tmpl", gin.H{
    "result": result,
    })
})
// 此处为模板代码
{{ "SELECT clicks FROM info;" | SerchInfo }}

我想通过路由解析获取id,然后将模板处的内容与id想结合进行查询。即原本的查询指令为”SELECT clicks FROM info”,而我想将查询指令改为
“SELECT clicks FROM info WHERE id=get_id”
有哪位大佬可以帮帮嘛,学艺不精,多多指教

最佳答案

做好参数校验限制sql注入

路由

r.GET("/blog" func(c *gin.Context) {
    id := c.Param("id")
    c.HTML(http.StatusOK, "template.tmpl", gin.H{
    "id": id,
    })
})

模板

{{ printf "SELECT clicks FROM info WHERE id=%s" .id | SerchInfo }}
1年前 评论
ruolylyly (楼主) 1年前
讨论数量: 8

你渲染模板用的哪个模板库?添加但模板库的函数是怎么添加的?需要根据模板库的文档来使用方法或者过滤函数。最好用函数吧,过滤函数那就看文档

1年前 评论
ruolylyly (楼主) 1年前

做好参数校验限制sql注入

路由

r.GET("/blog" func(c *gin.Context) {
    id := c.Param("id")
    c.HTML(http.StatusOK, "template.tmpl", gin.H{
    "id": id,
    })
})

模板

{{ printf "SELECT clicks FROM info WHERE id=%s" .id | SerchInfo }}
1年前 评论
ruolylyly (楼主) 1年前

你为什么要这么处理呢,获取数据直接在 HandleFunc 函数中处理不可以吗,可以看下
github.com/gphper/ginadmin
我这个项目,支持html渲染,希望对你有些帮助

1年前 评论
ruolylyly (楼主) 1年前
GPER (作者) 1年前
ruolylyly (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!