企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
``` ``` ## beego 采用了 Go 语言默认的模板引擎 * ### 指定模板:c.TplName = "index.tpl" * #### 默认支持`tpl`和`html` * #### beego.AddTemplateExt设置其他后缀 * ##### beego.AddTemplateExt\("后缀名"\) * #### 如果不设置该参数,那么默认会去到模板目录的 Controller/<方法名>.tpl 查找,例如上面的方法会找 `maincontroller/get.tpl` * ### 数据渲染:c.Data\["Website"\] = "beego.me" * #### 前端获取数据:{ {.Website } } 两个换括号中变量名前有个点,这个点表示当前对象 ## 设置模板路径: * ### beego默认的路径是view,可以自己设置 * ### 重新设置模板路径: * #### beego.SetViewsPath\("testview"\) * #### 配置文件中设置:viewspath = "myview" ## 当然我们不需要模板输出的,比如我们只写接口,我们可以手动关闭模板渲染 * ### 在配置文件设置 * ### autorender = false * ### 在main.go中设置 * #### beego.BConfig.WebConfig.AutoRender = false * 示例:定义新的路由和传递简单数据 * controller中可以新建自己的包,包中新建go文件,注意package名,这里的package名会在路由里面使用,可以把controller层写到这个go文件中,如下: 在controller中新建了一个包user,里面有一个user.go文件 ![](/assets/user.png) user.go,package叫controllers\_user: ``` package controllers_user import "github.com/astaxie/beego" type UserController struct{ beego.Controller } func(c*UserController)Get(){ c.TplName="user.html" c.Data["username"]="zlkt" } ``` 在router中定义路由: ``` package routers import( "beego_project/controllers" "github.com/astaxie/beego" "beego_project/controllers/user" ) func init(){ beego.Router("/",&controllers.MainController{}) beego.Router("/user",&controllers_user.UserController{}) } ```