golang beego框架学习(二)

相对上个课程的代码,我们做一些修改。实现beego的模板应用和mysql数据库连接的简易应用。

在controllers新建一个home.go,添加:

  1. package controllers
  2.  
  3. import(
  4. "github.com/astaxie/beego"
  5. )
  6.  
  7. type HomeControllerstruct{
  8. beego.Controller
  9. }
  10.  
  11. func (this*HomeController)Get(){
  12. this.TplName="home.html"
  13. }

routers文件下router.go需要小调

  1. func init(){
  2. beego.Router("/",&controllers.HomeController{})
  3. }

改为默认homecontroller。

views文件夹下添加home.html,代码:

  1. <!DOCTYPE html>
  2.  
  3. <html>
  4. <head>
  5. <title>首页 - 我的 beego 博客</title>
  6. <linkrel="shortcut icon"href="/static/img/favicon.png"/>
  7. <metahttp-equiv="Content-Type"content="text/html; charset=utf-8">
  8.  
  9. <!-- Stylesheets -->
  10. <linkhref="/static/css/bootstrap.min.css"rel="stylesheet"/>
  11. </head>
  12. <body>
  13. <divclass="navbar navbar-default navbar-fixed-top">
  14. <divclass="container">
  15. <aclass="navbar-brand"href="http://webyang.net"target="_blank">WebYang.NET</a>
  16. <div>
  17. <ulclass="nav navbar-nav">
  18. <liclass="active"><ahref="/">首页</a></li>
  19. <li><ahref="/category">分类</a></li>
  20. <li><ahref="/topic">文章</a></li>
  21. </ul>
  22. </div>
  23. </div>
  24. </div>
  25. <divclass="container">
  26. <divclass="page-header">
  27. <h1>三月,在成都</h1>
  28. <h6class="text-muted">文章发表于 2017 年 4 月 6日 11 点 31 分,共有 73 次浏览, 12 个评论</h6>
  29. <p>
  30. 女友在成都,之前并没有去过成都。于是怀抱着一种强烈的好奇心情,来到了成都,时下赵雷的《成都》很火,让成都掀起了旅游潮。<ahref='http://www.webyang.net/Html/web/article_298.html'target="_blank">更多</a>
  31. </p>
  32. </div>
  33. </div>
  34.  
  35. <scripttype="text/javascript"src="http://cdn.staticfile.org/jquery/2.0.3/jquery.min.js"></script>
  36. <scripttype="text/javascript"src="/static/js/bootstrap.min.js"></script>
  37. </body>
  38. </html>

models文件夹下添加models.go,源码:

  1. package models
  2.  
  3. import(
  4. "github.com/astaxie/beego/orm"
  5. _ "github.com/go-sql-driver/mysql"
  6. "time"
  7. )
  8.  
  9. const(
  10. _DB_NAME ="root:123456@/test?charset=utf8"
  11. _MYSQL_DRIVER ="mysql"
  12. )
  13.  
  14. // 分类
  15. type Categorystruct{
  16. Id int64
  17. Titlestring
  18. Created time.Time`orm:"index"`
  19. Views int64 `orm:"index"`
  20. TopicTime time.Time`orm:"index"`
  21. TopicCount int64
  22. TopicLastUserId int64
  23. }
  24.  
  25. // 文章
  26. type Topicstruct{
  27. Id int64
  28. Uid int64
  29. Titlestring
  30. Contentstring`orm:"size(5000)"`
  31. Attachmentstring
  32. Created time.Time`orm:"index"`
  33. Updated time.Time`orm:"index"`
  34. Views int64 `orm:"index"`
  35. Authorstring
  36. ReplyTime time.Time`orm:"index"`
  37. ReplyCount int64
  38. ReplyLastUserId int64
  39. }
  40.  
  41. func RegisterDB(){
  42. // 注册模型
  43. orm.RegisterModel(new(Category),new(Topic))
  44. orm.RegisterDriver(_MYSQL_DRIVER, orm.DRMySQL)
  45.  
  46. // 注册默认数据库
  47. orm.RegisterDataBase("default", _MYSQL_DRIVER, _DB_NAME,10)
  48. }

最后入口文件main.go的main方法里添加:

  1. orm.RunSyncdb("default",false,true)

运行,bee run myapp。出来如下图:

github:https://github.com/yangsir/beego_study

 

更多请支持:http://www.webyang.net/Html/web/article_299.html

猜你喜欢

转载自ycdyx.iteye.com/blog/2376220