beego 找不到带有 bee 的布局 tpl 文件 运行

beego not finding layout tpl file with bee run

我用 beego 在 golang 中构建了一个基于基本布局的站点,我将我的页面布局拆分到一个名为 views/_layout.tpl 的文件中,并如下所示从控制器中引用它。

func (c *BuyerController) Get() {
    ...
    c.Layout = "_layout.tpl"
    c.TplName = "buyers.tpl"
}

布局中间有所需的行:

    {{.LayoutContent}}

奇怪的是,当我 运行 使用 IDEA/IntelliJ 的 Web 服务器时,它在浏览器中呈现得很好,但是当我使用 运行 从控制台使用 [=14] 时=] 布局文件中的所有 html 都丢失了,只显示了 buyers.tpl 的内容。

我已经 运行 编译过的应用程序的每个构建都发生了同样的情况,由 IntelliJ 构建的可以工作,而由 bee run 构建的不可以。

据我所知我已经关注了http://beego.me/docs/mvc/view/view.md#layout-design

知道我做错了什么,或者有任何解决办法的线索吗?谢谢。

GOPATH。再次。典型的是我 post 赏金然后迅速弄清楚是吗?

IntelliJ 在 .idea/*.iml

中保留了自己的 GOPATH 信息副本
<orderEntry type="library" name="GOPATH &lt;web&gt;" level="project" />

我正在 运行宁 gvm 管理 go 版本,为了在全球范围内将软件包安装在正确的位置,我的 go 路径如下:

$ echo $GOPATH
/home/tim/.gvm/pkgsets/go1.4.3/global

然而,这意味着我每次切换 go 版本时都必须移动我的 src。为了解决这个问题,我使用 gvm linkthis 将我的 src 符号链接到 gvm 文件夹中,以便我的源代码位于 GOPATH 中,正如 go 期望的那样。这样做的缺点是我必须先 cd$GOPATH/src/project/ 然后再点击 bee run 而不仅仅是 运行 从真实位置(这是我所做的)。如果没有它,它会找到 .go 文件而不是布局。我不是 100% 确定为什么,但它有一定道理。

似乎要剃很多牦牛毛才能使一切正常,所以也许我遗漏了什么?