相对上个课程的代码,我们做一些修改。实现beego的模板应用和mysql数据库连接的简易应用。
在controllers新建一个home.go,添加:
- package controllers
- import(
- "github.com/astaxie/beego"
- )
- type HomeControllerstruct{
- beego.Controller
- }
- func (this*HomeController)Get(){
- this.TplName="home.html"
- }
routers文件下router.go需要小调
- func init(){
- beego.Router("/",&controllers.HomeController{})
- }
改为默认homecontroller。
views文件夹下添加home.html,代码:
- <!DOCTYPE html>
- <html>
- <head>
- <title>首页 - 我的 beego 博客</title>
- <linkrel="shortcut icon"href="/static/img/favicon.png"/>
- <metahttp-equiv="Content-Type"content="text/html; charset=utf-8">
- <!-- Stylesheets -->
- <linkhref="/static/css/bootstrap.min.css"rel="stylesheet"/>
- </head>
- <body>
- <divclass="navbar navbar-default navbar-fixed-top">
- <divclass="container">
- <aclass="navbar-brand"href="http://webyang.net"target="_blank">WebYang.NET</a>
- <div>
- <ulclass="nav navbar-nav">
- <liclass="active"><ahref="/">首页</a></li>
- <li><ahref="/category">分类</a></li>
- <li><ahref="/topic">文章</a></li>
- </ul>
- </div>
- </div>
- </div>
- <divclass="container">
- <divclass="page-header">
- <h1>三月,在成都</h1>
- <h6class="text-muted">文章发表于 2017 年 4 月 6日 11 点 31 分,共有 73 次浏览, 12 个评论</h6>
- <p>
- 女友在成都,之前并没有去过成都。于是怀抱着一种强烈的好奇心情,来到了成都,时下赵雷的《成都》很火,让成都掀起了旅游潮。<ahref='http://www.webyang.net/Html/web/article_298.html'target="_blank">更多</a>
- </p>
- </div>
- </div>
- <scripttype="text/javascript"src="http://cdn.staticfile.org/jquery/2.0.3/jquery.min.js"></script>
- <scripttype="text/javascript"src="/static/js/bootstrap.min.js"></script>
- </body>
- </html>
models文件夹下添加models.go,源码:
- package models
- import(
- "github.com/astaxie/beego/orm"
- _ "github.com/go-sql-driver/mysql"
- "time"
- )
- const(
- _DB_NAME ="root:123456@/test?charset=utf8"
- _MYSQL_DRIVER ="mysql"
- )
- // 分类
- type Categorystruct{
- Id int64
- Titlestring
- Created time.Time`orm:"index"`
- Views int64 `orm:"index"`
- TopicTime time.Time`orm:"index"`
- TopicCount int64
- TopicLastUserId int64
- }
- // 文章
- type Topicstruct{
- Id int64
- Uid int64
- Titlestring
- Contentstring`orm:"size(5000)"`
- Attachmentstring
- Created time.Time`orm:"index"`
- Updated time.Time`orm:"index"`
- Views int64 `orm:"index"`
- Authorstring
- ReplyTime time.Time`orm:"index"`
- ReplyCount int64
- ReplyLastUserId int64
- }
- func RegisterDB(){
- // 注册模型
- orm.RegisterModel(new(Category),new(Topic))
- orm.RegisterDriver(_MYSQL_DRIVER, orm.DRMySQL)
- // 注册默认数据库
- orm.RegisterDataBase("default", _MYSQL_DRIVER, _DB_NAME,10)
- }
最后入口文件main.go的main方法里添加:
- orm.RunSyncdb("default",false,true)
运行,bee run myapp。出来如下图:
github:https://github.com/yangsir/beego_study