beego 案例

使用beego实现注册与登录功能
这篇博客通过一个实际案例介绍了如何使用Go语言的Web框架beego来完成注册和登录功能。首先,讲解了数据库设计,然后展示了如何定义注册和登录的路由,创建控制器并处理HTTP请求。在注册部分,详细解释了数据获取、校验和存储过程。在登录部分,同样涵盖了路由设置和数据处理。最后,讨论了beego中页面跳转的两种方式——重定向和渲染,并总结了学习要点。

案例

我们今天以注册和登陆作为我们今天的大练习,把今天讲到的内容都串起来。先注册,然后登陆。

在开始具体的业务之前我们要做数据库设计,在正式开发中这一步是非常重要,也比较复杂的,但是今天我们只实现登陆和注册,就简单有个用户名和密码即可,model.go内容如下:

package models

import (
	"github.com/astaxie/beego/orm"
	_ "github.com/go-sql-driver/mysql"
)

type User struct {
   
   
	Id int
	Name string
	Passwd string
}

func init(){
   
   
	//1.连接数据库
	orm.RegisterDataBase("default","mysql","root:123456@tcp(127.0.0.1:3306)/test?charset=utf8")
	//2.注册表
	orm.RegisterModel(new(User))
	//3.生成表
	//1.数据库别名
	//2.是否强制更新
	//3.创建表过程是否可见
	orm.RunSyncdb("default",false,true)
}

注册

确定注册请求路径,修改路由文件

我们这里以/register作为注册的请求路径。所以这里我们需要修改router.go文件的内容。

在router.go文件的init()函数中加下面这行代码:

beego.Router("/register", &controllers.UserController{
   
   },"get:ShowRegister")

根据上面路由的指定,我们需要添加注册控制器

在controllers文件夹下创建一个user.go,然后在这个文件里面定义一个结构体UserController当控制器。

type UserController struct{
   
   
    beego.Controller
}

注意这里面添加的beego.Controller,是为了继承自beego自带的控制器。

添加显示注册页面函数

添加函数的时候需要注意,这个函数必须是UserController的函数才可以,不然在路由里面调用不到。那如何把函数设置成UserController的成员函数呢?是在函数名前面加上括号,然后放上UserController的指针。这里我们先指定注册的视图。代码如下:

func (this*UserController)ShowRegister(){
   
   
    this.TplName = "register.html"
}

注意:这里如果函数名首字母小写,路由同意找不到函数,所以函数名首字母必须大写

添加视图页面

在views文件夹下面创建一个名字为register.html的文件。然后实现成类似界面:

在这里插入图片描述

我们做后台的不关注样式,明天直接拿现成的样式来用即可,我们重在实现功能。

form标签里面需要添加两个属性,一个是action,一个是method,action其实就是请求路径,这里处理的还是注册业务,所以我们还用register请求,action = "/register",因为是上传数据,所以我们把method设置为post,即method="post",代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册页面</title>
</head
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值