main.go
package main
import (
"Dmgoweb/controllers"
"Dmgoweb/models"
"github.com/astaxie/beego"
"github.com/astaxie/beego/orm"
)
func init() {
models.RegisterDB()
}
func main() {
orm.Debug = true
orm.RunSyncdb("default", false, true)
//注册路由 这是beego的方法
beego.Router("/", &controllers.HomeController{})
beego.Router("/login", &controllers.LoginController{})
beego.Router("/topic", &controllers.TopicController{})
beego.AutoRouter(&controllers.TopicController{})
beego.Router("/reply", &controllers.ReplyController{})
beego.Router("/reply/add", &controllers.ReplyController{}, "post:Add")
beego.Router("/reply/delete", &controllers.ReplyController{}, "get:Delete")
beego.Router("/category", &controllers.CategoryController{})
beego.Run()
}
controllers主页实例--其他实例请详见工程
package controllers
import (
"Dmgoweb/models"
"github.com/astaxie/beego"
)
type HomeController struct {
beego.Controller
}
func (c *HomeController) Get() {
c.TplNames = "home.html" //显示页面格式
c.Data["IsHome"] = "true"
c.Data["IsLogin"] = checkAccount(c.Ctx)
topics, err := models.GetAllTopics(c.Input().Get("cate"), true)
if err != nil {
beego.Error(err.Error())
} else {
c.Data["Topics"] = topics
}
categories, err := models.GetAllCategories()
if err != nil {
beego.Error(err)
}
c.Data["Categories"] = categories
}
models中实现了具体的逻辑处理,代码有点长,就不贴出来了,具体请见工程中models文件下的models.go文件
目录中的static文件,需要将bootstrap下载之后,导入其中的css fonts js文件夹
views目录放置各个模板文件
工程请移步到百度云下载链接: http://pan.baidu.com/s/1bnMPCBX 密码: 2kgp