beego

beego的常见问题

末鹿安然 提交于 2020-03-01 20:26:30
找不到模板文件,找不到配置文件,nil 指针错误 这种大多数情况是由于你采用了 go run main.go 这样的方式来运行你的应用, go run 是把文件编译之后放在了 tmp 下去运行,而 beego 的应用会读取应用的当前运行目录对应的 conf,view 去查找相应的配置文件和模板,因此要正确运行,请使用 go build 然后执行应用 ./app 这种方式来运行 。或者使用 bee run app 来启动你的应用。 beego 可以应用于生产环境吗? 目前 beego 已经被广大用户应用于各大生产环境,例如盛大的 CDN 系统,360 的搜索API、Bmob 移动云 API,weico 的后端 API 应用,还有很多其他 Web 应用和服务器应用,都是一些高并发高性能的应用,所以请放心大胆的使用。 beego 将来升级会影响现有的 API 吗? beego 从 0.1 版本到现在基本保持了稳定的 API,很多应用都是可以无缝的升级到最新版本的 beego。将来升级重构都会尽量保持 beego 的 API 的稳定性。 beego 会持续开发吗? 很多人使用开源软件都有一个担心就是怕项目不在持续,目前我们 beego 开发组有四个人一直在贡献代码,我想我们能够坚持把这个项目做好,而且会持续不断的进行改进。 来源: https://www.cnblogs.com

windows liteide 调试 beego

天大地大妈咪最大 提交于 2020-03-01 15:12:35
在windows下用liteide调试beego,下了断点无反应,这是因为windows版本golang安装的时候编译参数的问题,默认是-o2,修改goroot src目录下的make.bat文件,将-O2删除,添加-ggdb选项,重新执行all.bat删除gopath下已经编译的库 进入liteide 编译断点调试,就可以了,有时候可能不准,对于beego来说,但是多试几次是可以跟踪到断点的 linux也可以这样设置一下 来源: oschina 链接: https://my.oschina.net/u/659405/blog/405599

beego 框架 QueryBuilder 的 order by 的使用

蓝咒 提交于 2020-02-29 15:15:35
一直不理解 QueryBuilder 在按照多个字段进行排序的时候怎么处理,官方的文档也处理提供API清单之外,就没讲清楚。 OrderBy(fields ...string) QueryBuilder Asc() QueryBuilder Desc() QueryBuilder 我发现,其实也可以不调用 Asc 或者 Desc 函数,直接将排序关键字写到 OrderBy 函数的 fileds 参数即可,例如: OrderBy("TB.C1 DESC, TB.C2 ASC") 这样就行了! 其实 Beego 的 QueryBuilder 就是方便你以程序的方式来理解自己安排的查询语句的,API只是简单的做到拼装SQL,并没有提供强大的解析能力。 来源: oschina 链接: https://my.oschina.net/u/233834/blog/1922816

beego——日志处理

牧云@^-^@ 提交于 2020-02-29 03:06:18
这是一个用来处理日志的库,它的设计思路来自于 database/sql ,目前支持的引擎有 file、console、net、smtp,可以通过如下方式进行安装: go get github.com/astaxie/beego/logs    通用方式 首先引入包: import ( "github.com/astaxie/beego/logs" ) 然后添加输出引擎(log 支持同时输出到多个引擎),这里我们以 console 为例,第一个参数是引擎名(包括:console、file、conn、smtp、es、multifile) logs.SetLogger("console") 添加输出引擎也支持第二个参数,用来表示配置信息,详细的配置请看下面介绍: logs.SetLogger(logs.AdapterFile,`{"filename":"project.log","level":7,"maxlines":0,"maxsize":0,"daily":true,"maxdays":10,"color":true}`)    然后我们就可以在我们的逻辑中开始任意的使用了: package main import ( "github.com/astaxie/beego/logs" ) func main() { //an official log.Logger l := logs

Beego下如何使用captcha生成验证码

懵懂的女人 提交于 2020-02-28 23:09:06
Beego框架真的很贴心,默认有captcha这个验证码插件。在utils/captcha下面 使用方法 import( "github.com/astaxie/beego/cache" "github.com/astaxie/beego/utils/captcha" ) var cpt *captcha.Captcha func init() { store := cache.NewMemoryCache() cpt = captcha.NewWithFilter("/captcha/", store) //一定要写在构造函数里面,要不然第一次打开页面有可能是X } 在模板里面写上 <form action="/" method="post"> {{create_captcha}} <input name="captcha" type="text"> </form> 就ok了,最贴心的是居然连onclick事件也已经做在了里面,方便。 还有判断也已经写好了,只要在post里面写上 if !cpt.VerifyReq(this.Ctx.Request) { //你的代码 } 默认的验证码是6位,200px宽,这个是可以自己设置的 cpt是一个结构体: // Captcha struct type Captcha struct { // beego cache store store

Go语言beego框架开发彩票分析工具教程之二源代码结构

烂漫一生 提交于 2020-02-28 06:14:14
做Go语言项目,我也延续了Java语言项目的习惯,这次用Go语言的beego框架开发彩票分析工具,也使用了MVC架构。数据库访问层使用了Gorm这个库来操作数据库。由于Go语言的模板和beego框架模板都不能直接访问Go函数,想要在模板里实现一些想要的功能,就可以在 main 函数里使用 beego.AddFuncMap 函数注册模板函数来使用。 bin 目录,Go语言项目编译生成可执行文件的目录。 common 目录,存在公共变量,常量的目录。 conf 目录,beego框架约定的配置文件目录。 controller 目录,beego框架约定的web项目的控制器目录。 dao 目录,MVC架构的DAO访问数据库层。 middleware 目录,中间件目录。 models 目录,MVC架构的Model实体层。 routers 目录,beego框架约定的路由目录。 service 目录,MVC架构的业务逻辑层。 static 目录,beego框架约定的资源目录,比如 css、js 、image。 tests 目录,Go项目的测试单元目录。 utils 目录,自定义工具箱目录。 views 目录,beego框架约定的web项目的视图目录。 go.mod Go语言项目的库模块引用定义文件。 main.go Go语言项目的运行入口文件。 本文章由开源中国作者【开源乐兔CRM】原创发布

Beego 过滤器

蓝咒 提交于 2020-02-27 20:59:24
过滤器 beego 支持自定义过滤中间件,例如安全验证,强制跳转等。 过滤器函数如下所示: beego.InsertFilter(pattern string, position int, filter FilterFunc, params ...bool) InsertFilter 函数的三个必填参数,一个可选参数 pattern 路由规则,可以根据一定的规则进行路由,如果你全匹配可以用 * position 执行 Filter 的地方,五个固定参数如下,分别表示不同的执行过程 BeforeStatic 静态地址之前 BeforeRouter 寻找路由之前 BeforeExec 找到路由之后,开始执行相应的 Controller 之前 AfterExec 执行完 Controller 逻辑之后执行的过滤器 FinishRouter 执行完逻辑之后执行的过滤器 filter filter 函数 type FilterFunc func(*context.Context) params 设置 returnOnOutput 的值(默认 true), 如果在进行到此过滤之前已经有输出,是否不再继续执行此过滤器,默认设置为如果前面已有输出(参数为true),则不再执行此过滤器 是否重置 filters 的参数,默认是 false,因为在 filters 的 pattern 和本身的路由的

Go语言beego框架开发彩票分析工具教程之一介绍

半城伤御伤魂 提交于 2020-02-27 01:44:06
2020年春节前的2个月,朋友问我能不能开发一个分析排列五彩票中奖情况的软件,我大概了解了他的需求,觉得这个软件可以开发,就答应了他。 这个的主要功能点: 采集开奖号码入库。 手工添加开奖号码入库。 设置选号规则并保存。 分析并查看选号规则的中奖概率情况。 导出选号规则生成号码的TXT文件。 功能确定好后,就开始选型编程开发语言和框架。我以前一直在用PHP语言的ThinkPHP框架开发项目,如果用PHP开发这个小工具软件很轻松就能写出来。Java 语言的 Spring Boot 框架也大概了解做起来也没什么问题。Go 语言嘛,是一门比较新的语言,据说并发性能很强,也被吐槽没有泛型,异常处理机制不够友好。思来想去,最终还是选了 Go + Beego 来做这个项目,最主要原因是可以编译出一个可执行的 EXE 文件来使用,部署非常方便。 后端选型完,又轮到前端纠结的选型。到底是用 Vue.js 做为前端基础框架还是用jQuery,经过一阵痛苦的思想斗争后,还是选用 jQuery + Bootstrap 的前端框架 AdminLTE来开发。原因是自己没有前后端分离的需求,vue.js还没使用经验,比较熟悉jQuery。 原来是想先设计软件原型再进入开发阶段的,考虑到自己一天只能腾出1-2个小时做这个项目,要一边学习Go语言基础知识和Beego开发框架,时间上比较紧

Beego学习-01 基础篇

心已入冬 提交于 2020-02-26 12:26:24
概述 beego是一个快速开发go应用的http框架,他可用来快速开发API、Web以及后端服务等各种应用。 beego的架构 cache 缓存模块 config 配置模块 context 上下文模块 logs 日志模块 orm 和数据库相关的操作 session httplib 和网络相关的模块 beego执行逻辑 页面(V)----------控制(C)-----------数据库操作(M) beego项目目录 conf 配置文件 controllers 控制层 main.go 主入口 models 里面放的是和数据库有关的 static 放的是静态文件(html css .js) views 页面展示 beego的命令 new:基于网站开发(要在gopath环境下) api:基于手机接口开发 run:运行(项目目录下) eg. bee new project-name bee api api-name bee run beego参数配置 系统配置: appname=project-name httpport=端口 runmode=dev(开发环境)/prod(正式环境)/test 通过beego.Appname="beepkg"进行修改 应用配置: mysqluser=" " mysqlpass=" " mysqlurl=" " mysqldb=" " beego

Beego学习-02 beego.Router与namespace路由

大兔子大兔子 提交于 2020-02-26 12:09:01
beego.Router是RESTful Controller 路由 //见官网: https://beego.me/docs/mvc/controller/router.md namespace路由 自动化路由才有了namespace来进行设计, 而且注意两点,第一目前只支持namespace的路由支持自动化文档, 第二只支持NSNamespace和NSInclude解析,而且是只能两个层级 eg. func init ( ) { //使用beego.NewNamespace创建一个ns的变量, //这个变量里面其实就是存储了一棵路由树,我们可以把这棵树加到其他任意已经存在的树中去 ns : = beego.NewNamespace ( "/v1" , beego.NSNamespace ( "/object" , //调用了beego.NSInclude来进行注解路由的引入 beego.NSInclude ( & controllers.ObjectController { } , ) , ) , beego.NSNamespace ( "/user" , beego.NSInclude ( & controllers.UserController { } , ) , ) , ) beego.AddNamespace ( ns ) }