当前位置: 首页 > 面试题库 >

tmpl.Execute和子文件golang

许庆
2023-03-14
问题内容

我需要帮助。我需要在子文件中使用"html/template"的标记({{.Title}},示例)("article.html"在我的文本中为示例):

// ...
type Page struct {
    Test string
}

type News struct {
    Page
    Title string
}

func main() {
    t, _ := template.ParseFiles(filepath+"core.tmpl", filepath+"article.tmpl")
    p := &News{
        Title: "TITLE",
        Page: Page{
            Test: "TITLE",
        },
    }
    t.Execute(wr, p)
}

代码在core.tmpl

{{template "article"}}

代码在article.tmpl

{{define "article"}}
{{.Title}}<br><br>
{{.Page.Test}}
{{end}}

问题答案:

在你core.tmpl你必须使用

{{template "article" .}}

如果未.在末尾指定,则模板将与nil数据一起执行。指定.会将的值传递.给调用的模板。

引用text/template软件包文档的以下Actions部分:

{{template "name"}}
    The template with the specified name is executed with nil data.

{{template "name" pipeline}}
    The template with the specified name is executed with dot set
    to the value of the pipeline.


 类似资料:
  • 这个问题是本文的后续内容:Python-根据子文件夹和文件名重命名子文件夹中的文件。 我正在尝试遍历中子文件夹中的文件,并以指定的方式重命名每个文件。以下是我目前掌握的代码: 当我运行该行时,,它正确地显示保存在中的名为的文件将被重命名为。 但是,os.rename命令返回以下错误: "必须是字符串,而不是列表。" 这似乎是由于我在os.rename命令中使用了“文件名”。据我所知,os.rena

  • 问题内容: 我想浏览当前文件夹及其所有子文件夹,并获取所有扩展名为.htm | .html的文件。我发现可以找到一个对象是目录还是文件,如下所示: 最后,我想将所有文件及其路径放在一个数组中。这样有可能吗? 问题答案: 您可以用来递归遍历目录及其所有子目录: 要构建这些名称的列表,可以使用列表理解:

  • 本文向大家介绍Python 遍历子文件和所有子文件夹的代码实例,包括了Python 遍历子文件和所有子文件夹的代码实例的使用技巧和注意事项,需要的朋友参考一下 最近看ECShop到网上找资料,发现好多说明ECShop的文件结构不全面,于是想自己弄个出来。但这是个无聊耗时的工作,自己就写了个Python脚本,可以递归遍历目录下的所有文件和所有子目录,并将结果记录到一个.xml文件中(因为想使用Not

  • 问题内容: 我正在尝试查看特定文件夹中的更改,然后,如果其中发生任何添加/修订/删除,则需要获取该文件夹及其子文件夹中所有文件的更改类型。我正在为此使用,但它仅监视单个路径,不处理子文件夹。 这是我的方法: 就像我之前说过的,我只获取所选路径中文件的日志,并且我想查看所有文件夹和子文件夹文件,例如: 范例1: 范例2: 有没有更好的解决方案? 问题答案: A 仅监视您注册的S。它不会递归地通过这些

  • 问题内容: 我有一个名为“数据”的文件夹。此文件夹有一个名为“收件箱”的子文件夹,其中有多个“ .txt”文件。可以修改“数据”文件夹,最后会有多个带有“收件箱”子文件夹和“ .txt”文件的子文件夹。我需要监视“收件箱”文件夹中的“数据”文件夹和“ .txt”文件。我怎样才能做到这一点? INotify只是监视文件夹,并在创建子文件夹时弹出事件。创建“ .txt”文件(在哪个文件夹中)时,如何弹

  • 问题内容: 我尝试解压缩150个zip文件。所有zip文件都使用不同的名称,它们都分散在一个大文件夹中,该文件夹分为许多子文件夹和子子文件夹。我想将每个存档提取到与原始zip文件名相同名称的单独文件夹中,与原始zip文件位于同一位置。我的代码是: 我运行代码后,什么都没有发生。在此先感谢您的任何帮助。 问题答案: 更新: 最后,这段代码对我有用: