You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go Fiber中HTML模板range块内使用HTML标签报错求助

解决Go Fiber模板range块中添加HTML标签报错的问题

错误原因

未在Fiber应用中配置模板引擎的视图目录,导致模板文件无法被正确解析,进而将HTML标签错误识别为model.Post结构体的字段,触发错误:

failed to execute: template: :13:5: executing "" at <.    <p>>: can't evaluate field     <p> in type model.Post

解决方案

  1. 安装Fiber HTML模板引擎
    执行以下命令安装官方HTML模板引擎包:
go get github.com/gofiber/template/html/v2
  1. 配置Fiber应用的模板引擎
    修改main.go,在初始化Fiber实例时指定视图文件目录和模板引擎:
package main

import (
    "github.com/gofiber/fiber/v2"
    "github.com/gofiber/template/html/v2"
)

func main() {
    // 初始化HTML模板引擎,指定视图目录为./views,文件后缀为.html
    engine := html.New("./views", ".html")

    // 初始化Fiber应用并绑定模板引擎
    app := fiber.New(fiber.Config{
        Views: engine,
    })

    database.Connect()

    app.Get("/posts", controller.GetPost)

    app.Listen(":3000")
}
  1. 验证模板语法
    你的views/feed.html模板语法是正确的,无需修改:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
    {{range .Posts}}
    <p>{{.Content}}</p>
    {{end}}
</body>
</html>

完成配置后重启应用,访问/posts即可正常渲染包含HTML标签的列表内容。

内容的提问来源于stack exchange,提问作者Ngoc Le

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 07:27:25