我已经使用beego在golang中构建了一个基于布局的基本网站,我将我的页面布局拆分为一个名为views/_layout.tpl
的文件,并从控制器中将其引用如下。
func (c *BuyerController) Get() {
...
c.Layout = "_layout.tpl"
c.TplName = "buyers.tpl"
}
布局中间有所需的行:
{{.LayoutContent}}
奇怪的是,当我使用IDEA / IntelliJ运行Web服务器时,它在浏览器中渲染得很好,但是当我使用bee run
从控制台运行它时,布局文件中的所有html都丢失了,只显示buyers.tpl
的内容。
我运行已编译应用程序的每个版本,同样的情况发生,IntelliJ构建的版本和bee run
构建的版本不会。
据我所知,我已经关注http://beego.me/docs/mvc/view/view.md#layout-design
任何想法,我做错了什么,或任何线索如何解决?感谢。
答案 0 :(得分:1)
GOPATH
。再次。典型的我发布了赏金然后及时弄清楚了吗?
IntelliJ在GOPATH
.idea/*.iml
信息副本
<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中,因为我希望找到它。这样做的缺点是,在点击cd
之前我必须$GOPATH/src/project/
到bee run
而不是从真实位置运行它(这就是我所做的)。没有它,它会找到.go文件,但不会找到布局。我不是百分之百确定为什么,但它有一定意义。
似乎很多牦牛剃须让它全部工作所以也许我错过了什么?