问题标签 [go-html-template]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
9131 浏览

templates - 如何在 html/template 中的操作后控制空格?

我在控制空白和仍然html/template以可读方式格式化模板时遇到问题。我的模板看起来像这样:

布局.tmpl

正文.tmpl

代码

但这会产生(注意:文档类型上方有一行):

我想要的是:

在其他模板语言中,我可以说类似

并且动作前后的空格被剥离,但我在html/template. 这真的意味着我必须像下面这样使我的模板不可读吗?

布局.tmpl

正文.tmpl

0 投票
1 回答
1596 浏览

go - 如何在 Go html 模板中迭代地图的键和值

我有一个使用http/template包的模板。如何迭代模板中的键和值?

示例代码:

如何访问{{range}}模板中的密钥

0 投票
3 回答
1915 浏览

css - 基于加载模板的 css 类

我的 _base.html 模板中有这个引导导航,如下所示:

使用 Golang 我想添加一个

到相应的列表项。

我已经阅读了html/template文档和类似thisone的文章,但在我看来,我必须编写一个 golang 函数来添加

到每个对应的相应列表项。但不知何故,我仍然认为如果我可以添加类似的东西会更干净

或类似的东西。我记得 Rob Pike 说 Golang 应该为你做所有的计算,但是为什么 html/template-package 中有一个“if”语句?

0 投票
2 回答
5567 浏览

go - Go - html/template、template.ParseGlob() 和代码重用

我正在尝试html/template在 Go 中使用嵌入模板。我非常喜欢无逻辑的模板设计,并且我相信它能够按预期安全地逃避事情(有时其他模板库会出错)。

但是,我在尝试实现一个小助手以根据“最终”模板名称在我的 HTTP 处理程序中呈现我的模板时遇到了一些问题。我的 base.tmpl 在我的所有页面中实际上都是“标准的”,如果不是,我可以{{ template checkoutJS }}在 base.tmpl 中设置并通过设置添加一些每页 JS {{ define checkoutJS }}https://path.to/extra.js {{ end }}

我希望能够renderTemplate(w, "template_name.tmpl", data)在我的 HTTP 处理程序中说,datamap[string]interface{} 包含字符串或结构,其中包含我希望填写的任何内容。

这是到目前为止的代码:

基础.tmpl

create_listing.tmpl

login_form.tmpl

main.go

这编译,但我从我的处理程序返回一个空响应。请注意,我没有第二个处理程序的路线:该代码只是为了显示我想如何renderTemplate()从处理程序调用。

0 投票
1 回答
68 浏览

go - 适用于多个站点的 Go HTML 模板

我正在准备一个应用程序,它将为几个不同的站点提供服务,这些站点具有一个共同的管理面板(一个具有不同主题的页面要简化)。

这些“主题”中的每一个都有不同的需求。例如,虽然它们都显示服务列表,但其中一些也会显示相关图像。对于那些不喜欢的人,我宁愿避免使用数据库调用来获取它们(呈现页面的不同逻辑)。

在 Laravel(一个 PHP 框架)中,这将是视图作曲家的完美用途。

这样的系统在围棋中的设计是什么?

我在想某种“钩子”,每个主题都可以注册以运行函数来获取和添加特定模板的数据。有更好的方法吗?

0 投票
2 回答
2666 浏览

templates - 在 go html 模板中创建循环的最佳方法是什么?

我正在尝试创建一个用于通过html/templateGo 包显示帖子的 html 模板。我还想在我的页面上进行分页,每页显示 5 个帖子。

所以我从我的帖子存储库中获取帖子计数,将其除以每页的帖子值并四舍五入(ceil)。这是当前可用帖子的总页数。

我将总页数传递给我的 html 模板。现在,在我的 html 模板中,我需要显示从 1 到 total number 的页面按钮。

text/html包中有一个关于如何使用管道的很棒的文档,但我没有找到任何创建简单循环的示例。

我得到了解决方案,但我不确定它是否是好的解决方案。我不仅可以将页面总数传递给模板,还可以传递可用页面的数组,因此在我的模板中我可以执行以下操作:

但也许有比传递页面数组更好的方法来做到这一点?我也知道将自定义函数传递给模板的可能性。它可以成为一个解决方案吗?

0 投票
2 回答
1077 浏览

html - 在 golang 上使用 Html 模板

对不起,我是初学者,我阅读了 golang.docs,但没有很好地理解。我已经:index.html:

在 main.go 中,如果用户单击保存按钮,则选中复选框重定向该页面并显示选中的复选框

0 投票
1 回答
59 浏览

sql-server - 如何在 GO 中重新绑定到服务器

我正在编写一个将数据显示到网页的 Go Web 应用程序。数据库在 Microsoft SQL Server 2008 中。运行程序时,在主函数中正确处理 URL 到函数 WebHandler() 使用端口 8080 上的 ListenAndServe,但是一旦我连接到 SQL 数据库,Web 服务器连接丢失了。WebHandler() 连接到 sql 数据库,用 sql 结果填充结构值,并将结构加载到 html/模板中以相应地填充表。
我正在使用 github.com/LukeMauldin/lodbc" 和 "github.com/jmoiron/sqlx" 包来获取 sql 结果并且它们显示正常。如何在 WebHandler 函数中重新建立 web 服务?

0 投票
2 回答
13186 浏览

go - mgo 将 bson.objectId 转换为 html 模板中的字符串(十六进制)

我知道这个问题可能与这个问题重复。但直到现在还没有得到满意的答复。我真的很想引起人们的注意,以便尽快找到解决方案。所以我请求你不要关闭这个问题,除非你有解决方案并在上一个问题中回答:-)

我将描述这个问题以使人信服:

我有一个存储在 mongodb 中的数据结构,众所周知,_idmongodb 是一种bson.ObjectId类型,我可以通过以下方式检索它:

然后我Data通过查找特定的查询条件得到了一个切片,并使用该切片http/template来渲染前端视图。为了操作切片中的每个项目,我想使用该Id字段,但是当使用它时:

那只给出了一种类似于ObjectIdHex("550146d1b51bc1c208d1924d")而不是550146d1b51bc1c208d1924d很好且易于使用的字符串。

重复问题中。操作员说他找到了一种方法来解决这个问题,方法是Id_String在原始数据结构中“添加”。但我真的不知道该怎么做?这是否意味着在检索后分配它?由于我使用切片来存储检索到的数据,并且切片中的数据不能轻易更改。这样做会比使用 jquery 在前端完成工作更复杂。但是这样做只会让我心爱的 Go 感到沮丧:-(。

那么有没有更好的方法来做到这一点?

0 投票
2 回答
201 浏览

go - 为什么未关闭的 html 标签会使 html 模板无法在 go 中呈现?

我遇到了一个非常烦人的问题,我花了大约一个小时才弄清楚导致问题的原因,但我不知道为什么:

html/template用来渲染网页,代码是这样的:

但不知不觉中,我犯了一个错误,使<textarea>标签处于打开状态:

然后 Go 没有给出异常和其他提示,只是给出一个什么都没有的空白页面,状态码是200.

由于没有提供任何信息,定位问题已经生效,但为什么会出现这种情况?一个未完成的标签怎么会导致这样的问题?以及如何调试?