beego

[go][beego] needs a primary key field, default is to use 'id' if not set

匿名 (未验证) 提交于 2019-12-03 00:22:01
在beego中,新建model时不声明主键会在编译时出错,出现如标题提示。 解决方法是将id后添加声明即可。 报错前的代码: type Relationship struct { Id string User string RepostUser string AtUser string RepostLevel string AtLevel string Relationships *Relationship `orm:"rel(fk)"` } 更改后的代码: type Relationship struct { Id string `orm:"column(uid);pk"` // 设置主键 User string RepostUser string AtUser string RepostLevel string AtLevel string Relationships *Relationship `orm:"rel(fk)"` } 问题解决! 文章来源: [go][beego] needs a primary key field, default is to use 'id' if not set

bee安装并创建项目

匿名 (未验证) 提交于 2019-12-02 23:59:01
1.下载bee源码 下载地址为: https://github.com/beego/bee 2.解压 将下载的文件解压到 最后的目录如下(相应目录的需要事先创建好,解压生产的目录名为bee-develop,重命名为bee): ../src/github.com/beego/bee 3.编译安装 cd C:\Go\src\github.com\beego\bee go build 4.将生产的bee.exe拷贝到$GOPATH/bin 5.查看 C:\Go\src\github.com\beego\bee>bee version ______ | ___ \ | |_/ / ___ ___ | ___ \ / _ \ / _ \ | |_/ /| __/| __/ \____/ \___| \___| v1.10.0 6.创建项目 在src目录下执行,我这里的目录是C:\Users\huangxueliang\go\src 新建一个 Web 项目,我们在命令行下执行 bee new <项目名> 就可以创建一个新的项目。 但是注意该命令必须在 $GOPATH/src 下执行。最后会在 $GOPATH/src 相应目录下生成如下目录结构的项目. cd C:\Users\huangxueliang\go\src bee new beegoprj C:\Users\huangxueliang

Beego学习02,Beego项目部署上线

匿名 (未验证) 提交于 2019-12-02 23:51:01
1、进入到本地项目,然后执行命令 bee pack -be GOOS=linux 2、把生成的压缩文件上传到服务器,解压。 一、以下是通过nginx代理实现go项目的访问,官方叫做nginx 部署。 1、编辑nginx.conf文件 2、添加如下配置 server { listen 8081; server_name _; charset utf-8; access_log /data/wwwlogs/access_go.log combined; location / { try_files /_not_exists_ @backend; } location @backend { proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; proxy_pass http://localhost:8080; } } 3、阿里云和服务器防火墙开放端口 iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 8081 -j ACCEPT && service iptables save 4、后台运行命令 nohup ./beepkg & 二:以下是直接访问go项目,官方叫做独立部署。 1

golang web框架 beego 学习 (三) beego获取参数

匿名 (未验证) 提交于 2019-12-02 23:49:02
直接上常用的例子吧: A: 获取URL中的参数 router func init() { beego.Router("/task/?:id/?:name", &controllers.TaskController{}) } controller func (c *TaskController) Get() { id1 := c.GetString(":id") name1 := c.GetString(":name") id2 := c.Ctx.Input.Param(":id") name2 := c.Ctx.Input.Param(":name") c.Ctx.WriteString("id1:" + id1 + ";name1" + name1 + ";id2:" + id2 + ";name2:" + name2) } URL: B 获取Request Body里的内容 第一步:在app.conf中加上 copyrequestbody = true   第二步:导入json包 import ( "encoding/json" ) 下面是请求: 下面是controller的定义: package controllers import ( "encoding/json" "github.com/astaxie/beego" ) type JsonController

beego的安装(依赖库下载)

匿名 (未验证) 提交于 2019-12-02 22:56:40
按照官方网站步骤: 1, git config --global http.sslVerify false 2, go get github.com/astaxie/beego 依然存在错误如下: package golang.org/x/crypto/acme/autocert: unrecognized import path "golang.org/x/crypto/acme/autocert" (https fetch: Get https://golang .org/x/crypto/acme/autocert?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.) 分析原因: 依赖库下载失败 解决方法: 1, 在GOPATH目录下创建文件夹crypto mkdir -p $GOPATH/src/golang.org/x 2, 进入文件夹 cd $GOPATH/src

mac下安装beego,使用bee创建和运行项目

女生的网名这么多〃 提交于 2019-12-02 15:52:30
安装golang就不详细说了,下载pgk包安装,默认安装安装在 /usr/local/go 目录。 程序会自动设置环境变量,go env 可查看目前的go的环境变量。 现在GO可以执行了,在命令行输入 go version可查看golang版本信息。下面还要配置一个GOPATH环境变量,是工作目录。 我把GOPATH建立在/Volumes/苹果专区/WEB/golang 编辑用户配置文件: vi ~/.bash_profile 加入 # GOPATH export GOPATH="/Volumes/苹果专区/WEB/golang" 想立即生效请运行: source ~/.bash_profile 接着安装beego。运行以下指令,安装beego(需要先安装GIT): go get github.com/beego/bee 没有意外的话,安装完beego,GOPATH会生成以下3个目录: bin 存储编译后的可执行文件 pkg 存放编译后生成的包文件 src 存放项目的源码 此时需要添加bee的环境变量,才能执行 bee 的命令。win下一样要添加环境变量。 再次编辑用户配置文件: vi ~/.bash_profile 加入 # bee PATH="${GOPATH}/bin:${PATH}" export PATH 运行命令生效: source ~/.bash_profile

重学beego

梦想的初衷 提交于 2019-12-02 14:54:34
实现get()方法 1、添加要实现的路由,在router.go 2、重写get方法 3、返回一个视图 1、添加要实现的路由 beego . Router ( "/" , & controllers . MyController { } ) 2、重写get方法 c . Data [ "Website" ] = "beego.me" //向前端发送数据 c . TplName = "index.tpl" //指定接受的前端界面“index.tpl” 3、返回一个视图 在index.tpl中加入一个 <div>{{.data}}</div> 接受数据 实现post()方法 1、用from表单发送post请求 2、在router.go里面去实现这个对应的路由 3、重写post发送 1、用from表单发送post请求 < from method = "post" action = "/abc" > //其中cation的值与路由的第一个参数相一致 < input type = "submit" value = "post 数据“ > < /from > 2、在router.go里面去实现这个对应的路由 beego . Router ( "/abc" , & controllers . MyController { } ) 3、重写post发送 c . Data [ "Website" ] =

MySQL's bit type maps to which Go type?

心已入冬 提交于 2019-12-02 07:01:43
问题 I used Java before, so some columns' type in database table is bit(1) . But now I want to use beego to rebuild my project and I don't want to alter my database table (need do much). I use beego's orm in my project. So which Go type should I use? Table like this and the deleted column has the question: +--------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+---------+-------+ | id | varchar(255)

beego项目部署到nginx(含http转https)

佐手、 提交于 2019-12-02 02:26:19
beego项目部署到nginx(含http转https) 之前的程序部署到服务器采用的直接部署,比较方便,现在把它部署到nginx,以便后续的反向代理和负载均衡,同时,因为要接入微信小程序,所以需要将之前的域名http://www.xxxxxx.com转成https://www.xxxxxx.com。 更多内容可关注公众号,里面都是作者原创。 1,安装Nginx。 卸载原来的nginx:sudo apt-get —purge autoremove nginx 安装nginx:sudo apt-get install nginx 如图: 2,部署beego到nginx,增加ssl证书(证书的申请可以到腾讯云注册账号申请,现在有免费一年的证书使用)。 修改/etc/nginx/nginx.conf。也可以在/etc/nginx/conf.d/目录下新增conf文件来配置专属于某个服务。此处配置的是/etc/nginx/nginx.conf。 user www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp

Go语言及Beego框架环境搭建

孤街浪徒 提交于 2019-12-01 17:38:58
在开始环境搭建之前,我们先一起来看看: Go有什么优势: 不用虚拟机,它可直接编译成机器码,除了glibc外没有其他外部依赖,部署十分方便,就是扔一个文件就完成了。 天生支持并发,可以充分的利用多核,很容易实现并发。 25个关键字,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等。 内置强大的工具,Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得更加简单。 跨平台编译,如果你在windows上想生成linux上的可执行文件,只需要一条命令(set GOOS=linux),即可以做到windows系统编译linux的应用。 Go适合做什么 服务器编程,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等 分布式系统,数据库代理器等 网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用 Go成功的项目 nsq:bitly开源的消息队列系统,性能非常高,目前他们每天处理数十亿条的消息 docker:基于lxc的一个虚拟打包工具,能够实现PAAS平台的组建 packer:用来生成不同平台的镜像文件,例如VM、vbox、AWS等,作者是vagrant的作者 skynet:分布式调度框架 doozer:分布式同步工具,类似ZooKeeper heka:mazila开源的日志处理系统