1.簡介
先說我是一個PHPSir绳匀,閑來無事想研究研究Beego這個框架芋忿,目的是想通過這樣一個MVC框架來學習go的基本使用和練習一下go的基本語法和基本的業(yè)務處理邏輯,因為直接擼原生代碼煩躁無味疾棵,我相信做出東西會對自己是一種激勵并且基礎語法也會有相應的提升戈钢,通過這樣一個框架來造一個簡單的博客,可能更新時間有些緩慢還望見諒是尔。
安裝就先不講了殉了,自行百度。
2.好的資源你懂得
3.一頓操作猛如虎
1.主要目錄
2.路由
package routers
import (
"blog/controllers"
"github.com/astaxie/beego"
)
func init() {
beego.Router("/admin_login", &controllers.LoginController{})
}
3.
package controllers
import (
"github.com/astaxie/beego"
"blog/models/admin"
"github.com/astaxie/beego/validation"
"log"
)
// 接收參數(shù)構造體
type loginParams struct {
adminName string
adminPassword string
}
// 登錄控制器
type LoginController struct {
beego.Controller
models.LoginModel
}
// 顯示登錄頁面
func (this *LoginController) Get() {
this.TplName = "login/login.html"
}
// 接收登錄頁面的信息
func (this *LoginController) Post(){
params := loginParams{this.GetString("admin_name"), this.GetString("admin_password")}
// 驗證不通過重定向到登錄頁面
if !checkParams(params) {
//this.Ctx.WriteString("我執(zhí)行了");
this.TplName = "login/login.html"
}
}
// 驗證登錄參數(shù)
func checkParams(params loginParams) bool {
valid := validation.Validation{}
valid.Required(params.adminName, "adminName")
valid.Required(params.adminPassword, "adminPassword")
valid.MaxSize(params.adminName, 1, "adminNameMax")
valid.MaxSize(params.adminPassword, 15, "adminNamePassword")
if valid.HasErrors() {
// 如果有錯誤信息拟枚,證明驗證沒通過
// 打印錯誤信息
for _, err := range valid.Errors {
log.Println(err.Key, err.Message)
}
return false;
}
return true;
}
我就不具體介紹了薪铜,下載下來代碼,對比著目錄然后查文檔就可以了恩溅,我只提供我的學習思路
4.效果
運行Beego
訪問
測試
剛才我啥也沒輸入點了一下登錄
限制代碼
這里是命令行輸出的日志信息