标签: go-html-template

如何在golang中比较html/template中列表的长度?

我试图比较golang html/template中列表的长度.但它在html中永远加载.

{{ $length := len .SearchData }} {{ if eq $length "0" }}
    Sorry. No matching results found
{{ end }}
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我这个吗?

html equals go go-html-template

21
推荐指数
3
解决办法
2万
查看次数

Go lang中的html /模板性能下降,有什么解决方法吗?

我正在压力测试(使用loader.io)这种类型的代码在Go中创建一个包含100个项目的数组以及一些其他基本变量,并在模板中解析它们:

package main

import (
    "html/template"
    "net/http"
)

var templates map[string]*template.Template

// Load templates on program initialisation
func init() {
    if templates == nil {
        templates = make(map[string]*template.Template)
    }

    templates["index.html"] = template.Must(template.ParseFiles("index.html"))
}

func handler(w http.ResponseWriter, r *http.Request) {
    type Post struct {
        Id int
        Title, Content string
    }

    var Posts [100]Post

    // Fill posts
    for i := 0; i < 100; i++ {
        Posts[i] = Post{i, "Sample Title", "Lorem Ipsum Dolor Sit Amet"}
    }

    type Page struct {
        Title, …
Run Code Online (Sandbox Code Playgroud)

go go-html-template

12
推荐指数
2
解决办法
4985
查看次数

在golang html/template中格式化float

我想格式化float64值在golang 2位小数html/template中说index.html文件.在.go文件中,我可以格式化为:

strconv.FormatFloat(value, 'f', 2, 32)
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在模板中格式化它.我正在使用gin-gonic/gin框架进行后端.任何帮助将不胜感激.谢谢.

format go go-html-template

11
推荐指数
2
解决办法
8653
查看次数

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

我知道这个问题可能与问题重复.但到目前为止还没有得到满意的答案.我真的想引起一些关注,尽快找到解决方案.所以我请求你不要关闭这个问题,除非你有解决方案并在前一个问题中回答:-)

我将描述说服的问题:

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

type Data struct {
    Id bson.ObjectId `bson:"_id,omitempty"`
    Content string `bson:"content"`
}
Run Code Online (Sandbox Code Playgroud)

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

{{range $key, $value := .DataSlice}}
  <td>{{$value.Id}}</td>
{{end}}
Run Code Online (Sandbox Code Playgroud)

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

重复的问题.操作人员说,他找到了一种解决方法,通过"添加Id_String"原始数据结构来解决这个问题.但我真的不知道该怎么做?这是指在检索后分配它吗?由于我使用切片来存储检索到的数据,因此切片中的数据无法轻易更改.这样做比使用jquery做前端的工作要复杂得多.但这样做只会让我心爱的Go: - (.

那么还有更好的方法吗?

go mgo objectid go-html-template

9
推荐指数
1
解决办法
1万
查看次数

Golang - 不要在HTML模板中转义

尝试呈现HTML模板,以便通过带有嵌入式附件的电子邮件发送cid:.问题是,Go确实逃避了,我无能为力.

tplVars := map[string]interface{}{
    "Dog": "cid:dog.png",
    "Cat": "cid:cat.png",
}
Run Code Online (Sandbox Code Playgroud)

我的测试模板看起来不像这样:

Dog: <img src="{{.Dog}}">
Cat: {{.Cat}}
Run Code Online (Sandbox Code Playgroud)

输出是:

Dog: <img src="#ZgotmplZ">
Cat: cid:cat.png
Run Code Online (Sandbox Code Playgroud)

如果text在属性上下文之外,则会对其进行正确计算,但是当它是一个src属性时,它总是成为该错误字符串.我也尝试过更改值string,template.HTMLAttr但没有任何反应.始终将Cid值评估为该错误输出#ZgotmplZ.

template-engine go go-html-template

9
推荐指数
1
解决办法
5342
查看次数

如何从Golang的html /模板中删除ZgotmplZ?

我在后端使用Golang.当我使用html/templates渲染html时,我正在获取ZgotmplZURL.

{{if .UserData.GitURL}}
<li>
  <a href="{{.UserData.GitURL}}">
    <i class="icon fa fa-github"></i>
  </a>
</li>
{{end}}
Run Code Online (Sandbox Code Playgroud)

我在服务器端使用GitURL的字符串.这个URL是https.当我寻找解决方案时,一些博客建议使用safeURL.所以我试过,

{{if .UserData.GitURL}}
<li>
  <a href="{{.UserData.GitURL | safeURL}}">
    <i class="icon fa fa-github"></i>
  </a>
</li>
{{end}}
Run Code Online (Sandbox Code Playgroud)

但是代码没有编译.

有人可以帮我吗?任何建议都会非常有用.

html url templates go go-html-template

8
推荐指数
1
解决办法
1605
查看次数

如何在html/template中执行操作后控制空格?

我有一个控制空白的问题,仍然html/template以可读的方式格式化模板.我的模板看起来像这样:

layout.tmpl

{{define "layout"}}
<!DOCTYPE html>
<html>
        <head>
                <title>{{.title}}</title>
        </head>
        <body>
                {{ template "body" . }}
        </body>
</html>
{{end}}
Run Code Online (Sandbox Code Playgroud)

body.tmpl

{{define "body"}}
{{ range .items }}
{{.count}} items are made of {{.material}}
{{end}}
{{end}}
Run Code Online (Sandbox Code Playgroud)

package main

import (
    "os"
    "text/template"
)

type View struct {
    layout string
    body   string
}

type Smap map[string]string

func (self View) Render(data map[string]interface{}) {
    layout := self.layout + ".tmpl"
    body   := self.body + ".tmpl"
    tmpl   := template.Must(template.New("layout").ParseFiles(layout, body))
    tmpl.ExecuteTemplate(os.Stdout, "layout", data)
} …
Run Code Online (Sandbox Code Playgroud)

whitespace templates go go-html-template

7
推荐指数
2
解决办法
5037
查看次数

按用户定义的属性排序

我正在使用hugo v0.15,我正在尝试对自定义属性的页面进行排序。

我将子页面定义如下:

+++
title= "bla bla bla"
parent = "parent"
index = 0 # each page is assigned a unique index
+++
Run Code Online (Sandbox Code Playgroud)

在我的父模板中如下:

{{ range sort .Site.Pages ".Params.index" }}
    <a href="{{.RelPermalink}}">
          {{.Title}} {{.Params.index}}
    </a>
{{end}}
Run Code Online (Sandbox Code Playgroud)

这在编译时不会失败,但列表呈现为空。我缺少什么?

go-html-template hugo

5
推荐指数
1
解决办法
3799
查看次数

如何验证 html 电子邮件模板?

我正在使用 Telerik 报告工具生成不同格式的报告,.pdf、.html、.doc、.txt 等。我们客户的一些电子邮件服务器不支持电子邮件中的附件,所以我想将 .html 报告嵌入到我的电子邮件正文而不是将其附加为附件,以便用户可以直接查看报告内容并复制报告内容。但是当我将 .html 报告附加到电子邮件正文时,它不会以正确的格式呈现。是否有任何在线工具或插件可以将普通的 html 转换为电子邮件模板友好的 html?或者我如何验证此页面是否可以作为电子邮件正文正常呈现,否则为什么不呢?我应该删除或替换哪个标签等。

我已经尝试过这个在线工具, 但它不起作用,电子邮件中的 html 仍然很脏。

html css html-email go-html-template

5
推荐指数
1
解决办法
7542
查看次数

如何在 Go 语言中为`template.ParseFiles` 指定文件位置?

看完这个视频,我自己试了一下。但是,我收到了恐慌错误panic: open templates/index.html: The system cannot find the path specified.完整的错误消息,如下所示。

Hello, Go Web Development 1.3
panic: open templates/index.html: The system cannot find the path specified.

goroutine 1 [running]:
panic(0x789260, 0xc082054e40)
    F:/Go/src/runtime/panic.go:481 +0x3f4
html/template.Must(0x0, 0xe34538, 0xc082054e40, 0x0)
    F:/Go/src/html/template/template.go:340 +0x52
main.main()
    E:/Users/User/Desktop/codespace/go_workspace/src/go-for-web-dev/src/1.3_UsingTemplate.go:11 +0x20d
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的字符串,如"templates/index.html", "index.html", "./template/index.html"... 另外,我尝试将整个模板文件夹复制到pkg, bin...但我收到相同的错误消息。

下面是go程序(1.3_UsingTemplate.go)。

package src

import (
    "fmt"
    "net/http"
    "html/template"
)

func main() {
    fmt.Println("Hello, Go Web Development 1.3")
    templates := template.Must(template.ParseFiles("templates/index.html"))  //This line should …
Run Code Online (Sandbox Code Playgroud)

path go go-html-template

5
推荐指数
2
解决办法
1万
查看次数