• Beego框架基本使用


    Beego最接近PHP的框架 MVC写起来和PHP的框架类似

    目录结构

    1.Demo

    1.1定义路由

    package routers
    
    import (
        "beegoDemo/controllers"
        "github.com/astaxie/beego"
    )
    
    func init() {
        beego.Router("/", &controllers.MainController{})
        beego.Router("/goods", &controllers.GoodsController{})
    
        // 请求控制器的某个方法 get:GetGoods 表示发起的get请求
        beego.Router("/goods/add", &controllers.GoodsController{}, "get:AddGoods")
        beego.Router("/goods.list", &controllers.GoodsController{}, "get:GetGoods")
    
    }

    1.2控制器

    package controllers
    
    import "github.com/astaxie/beego"
    
    type GoodsController struct {
        beego.Controller
    }
    
    func (c *GoodsController) Get() {
        //c.Ctx.WriteString("直接输出到页面显示")
        c.Data["name"] = "GJH"  // 渲染数据
        c.TplName = "goods.tpl" //指定到页面模板
    }
    
    // 方法名字大写
    func (c *GoodsController) AddGoods() {
        c.Ctx.WriteString("添加商品")
    }
    func (c *GoodsController) GetGoods() {
        c.Ctx.WriteString("获取商品列表")
    }

    1.3页面渲染

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title></title>
    </head>
    <body>
    {{/*获取控制器传来的数据*/}}
    {{.name}}
    </body>
    </html>

    2.Get_Post_Put_Delete获取参数

    Beego 中可以使用 c.GetString("参数") 来获取 get 或者 post 传递的参数 我们经常需要获取用户传递的数据,包括 Get、POST 等方式的请求,beego 里面会自动解析这些数据,你可以通过如下方式获取数据:
    • GetString(key string) string
    • GetStrings(key string) []string
    • GetInt(key string) (int64, error)
    • GetBool(key string) (bool, error)
    • GetFloat(key string) (float64, error)

    2.1Get

    http://127.0.0.1:8080/goods.delete?id=12
    func (c *GoodsController) DeleteGoods() {
        id := c.GetString("id")
        c.Ctx.WriteString("删除商品id==="+id)  //删除商品id===12
    }

    2.2Post

    func (c *GoodsController) AddGoods() {
        name := c.GetString("name")
        price := c.GetString("price")
        c.Ctx.WriteString("添加商品name="+name+"价格=="+price)
    }

    postman测试

    3.TODO

    待续

     
    注重细节——关注底层——注重细节——关注底层——注重细节——关注底层——注重细节——关注底层——注重细节——关注底层
  • 相关阅读:
    python学习(四)流程控制语句
    python学习(三)运算符
    python学习(二)数据类型转换
    python学习(一)基本数据类型
    mysql学习-mysql分页查询
    装饰器
    迭代器与生成器
    深入解析类对象与类实例的创建过程
    深入理解Python中的元类---metaclass
    flask源码解析之DispatcherMiddleware
  • 原文地址:https://www.cnblogs.com/PJG20/p/14589905.html
Copyright © 2020-2023  润新知