Beego框架不错,个人比较喜欢,关键是还有一些开发工具很实用,封装了很多实现,不需要自己做很多工作,在不考虑效率的前提下,都是可以接受的范畴。
自定义错误页面
Beego默认自己带了一些错误页面,在error.go文件中进行了定义。以404为例:
// show 404 notfound error.
func NotFound(rw http.ResponseWriter, r *http.Request) {
t, _ := template.New("beegoerrortemp").Parse(errtpl)
data := make(map[string]interface{})
data["Title"] = "Page Not Found"
data["Content"] = template.HTML("<br>The page you have requested has flown the coop." +
"<br>Perhaps you are here because:" +
"<br><br><ul>" +
"<br>The page has moved" +
"<br>The page no longer exists" +
"<br>You were looking for your puppy and got lost" +
"<br>You like 404 pages" +
"</ul>")
data["BeegoVersion"] = VERSION
//rw.WriteHeader(http.StatusNotFound)
t.Execute(rw, data)
}
其实自己做一个修改也很容易:
func page_not_found(rw http.ResponseWriter, r *http.Request){
t,_:= template.New("404.html").ParseFiles(beego.ViewsPath+"/404.html")
data :=make(map[string]interface{})
data["content"] = "page not found"
t.Execute(rw, data)
}
func main() {
beego.Errorhandler("404",page_not_found)
beego.Router("/", &controllers.MainController{})
beego.Run()
}
Server字段的修改
HTTP返回头中的Server总是显示的是BeegoServer,太不专业了,定义在config.go文件中:
BeegoServerName = "beegoServer"
我最初是fork了一个repo改,后来发现,只需要在app.conf文件中定义一下就可以了:
BeegoServerName = ACGSOSERVER
这样Server这个字段就更改掉了,其他的属性也可以用这种方式定义掉。
有疑问加站长微信联系(非本文作者)
