golang beego框架学习(二)

AndyYang| 阅读:1587 发表时间:2017-04-09 11:48:46 golang
摘要:beego项目的模板使用及mysql的简易连接使用。
相对上个课程的代码,我们做一些修改。实现beego的模板应用和mysql数据库连接的简易应用。

在controllers新建一个home.go,添加:
  1. package controllers
  2.  
  3. import (
  4. "github.com/astaxie/beego"
  5. )
  6.  
  7. type HomeController struct {
  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. <link rel="shortcut icon" href="/static/img/favicon.png" />
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  8.  
  9. <!-- Stylesheets -->
  10. <link href="/static/css/bootstrap.min.css" rel="stylesheet" />
  11. </head>
  12. <body>
  13. <div class="navbar navbar-default navbar-fixed-top">
  14. <div class="container">
  15. <a class="navbar-brand" href="http://webyang.net" target="_blank">WebYang.NET</a>
  16. <div>
  17. <ul class="nav navbar-nav">
  18. <li class="active"><a href="/">首页</a></li>
  19. <li><a href="/category">分类</a></li>
  20. <li><a href="/topic">文章</a></li>
  21. </ul>
  22. </div>
  23. </div>
  24. </div>
  25. <div class="container">
  26. <div class="page-header">
  27. <h1>三月,在成都</h1>
  28. <h6 class="text-muted">文章发表于 2017 年 4 月 6日 11 点 31 分,共有 73 次浏览, 12 个评论</h6>
  29. <p>
  30. 女友在成都,之前并没有去过成都。于是怀抱着一种强烈的好奇心情,来到了成都,时下赵雷的《成都》很火,让成都掀起了旅游潮。<a href='http://www.webyang.net/Html/web/article_298.html' target="_blank">更多</a>
  31. </p>
  32. </div>
  33. </div>
  34.  
  35. <script type="text/javascript" src="http://cdn.staticfile.org/jquery/2.0.3/jquery.min.js"></script>
  36. <script type="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 Category struct {
  16. Id int64
  17. Title string
  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 Topic struct {
  27. Id int64
  28. Uid int64
  29. Title string
  30. Content string `orm:"size(5000)"`
  31. Attachment string
  32. Created time.Time `orm:"index"`
  33. Updated time.Time `orm:"index"`
  34. Views int64 `orm:"index"`
  35. Author string
  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

本文为AndyYang原创,转载请注明出处!
如果您觉得好,可以打赏作者:
如果您觉得累了,是否想看点美女养养眼:猛戳>>朋友帮
如果您觉得皮了,是否想来点神吐槽:猛戳>>iPhone查询中

已有0条评论

昵称:
邮箱:
iPhone查询中 - bbs.ipcxz.com 朋友帮 - www.pengyb.cn iPhone查询中 - bbs.ipcxz.com
反馈
微信订阅号