我在golang中使用
beego构建了一个基于布局的基本布局,我将页面布局拆分为一个名为views / _layout.tpl的文件,并从控制器中将其引用如下.
func (c *BuyerController) Get() {
...
c.Layout = "_layout.tpl"
c.TplName = "buyers.tpl"
}
布局中间有所需的行:
{{.LayoutContent}}
奇怪的是,当我使用IDEA / IntelliJ运行Web服务器时,它在浏览器中渲染得很好,但是当我从控制台运行它时,运行了布局文件中的所有html,而且只是买家的内容.显示了tpl.
我已经运行了编译应用程序的每个版本,同样的情况发生,IntelliJ构建的那个工作,而蜜蜂运行构建的那个没有.
据我所知,我跟着http://beego.me/docs/mvc/view/view.md#layout-design
任何想法我做错了什么,或任何线索如何解决?谢谢.
最佳答案 GOPATH.再次.典型的我发布了赏金然后及时弄清楚了吗?
IntelliJ在.idea / * .iml中保留了自己的GOPATH信息副本
<orderEntry type="library" name="GOPATH <web>" level="project" />
我正在运行gvm来管理go版本,并且为了将软件包安装在全球正确的位置,我的go路径如下:
$echo $GOPATH
/home/tim/.gvm/pkgsets/go1.4.3/global
然而,这意味着每次切换版本时我都必须移动我的src.为了解决这个问题,我已经使用gvm linkthis将我的src符号链接到gvm文件夹,以便我的源代码在GOPATH中,因为go期望找到它.其缺点是我必须在点击蜜蜂运行之前cd到$GOPATH / src / project /而不是从真实位置运行它(这就是我所做的).没有它,它会找到.go文件,但不会找到布局.我不是百分百肯定为什么,但它有一定道理.
似乎很多牦牛剃须使它全部工作所以也许我错过了什么?