beego框架

beego框架

1.课程规划

在这里插入图片描述

2.Beego框架快速入门

2.1beego框架了解

在这里插入图片描述

Beego作者:谢孟军

Beego框架是go语言开发的web后台框架。

**那什么是框架呢?**就是别人写好的代码,我们可以直接使用!这个代码是专门针对某一个开发方向定制的,例如:我们要做一个网站,利用 beego 框架就能非常快的完成网站的开发,如果没有框架,每一个细节都需要我们处理,开发速度会大大降低。

go语言的web框架:beego,gin,echo等等,那为什么我们选择beego呢?

第一,beego是中国人开发的,开发文档比较详细,beego官网网址: https://beego.me/ 。第二,现在公司里面用beego的也比较多,比如今日头条,百度云盘,腾讯,阿里等。

2.2MVC架构

Beego是MVC架构。MVC 是一种应用非常广泛的体系架构,几乎所有的编程语言都会使用到,而且所有的程序员在工作中都会遇到!用 MVC 的方式开发程序,可以让程序的结构更加合理和清晰。 我们画图说明

在这里插入图片描述

beego具体是如何内嵌MVC呢?我们搭起环境通过代码分析。

2.3环境搭建

这里默认大家已经搭建好了go语言的开发环境。

  • 需要安装Beego源码和Bee开发工具//sudo apt-get install

    $ go get -u -v github.com/astaxie/beego
    $ go get -u -v github.com/beego/bee
    

    beego源码大家都了解,就是框架的源码。

    Bee开发工具带有很多Bee命令。比如bee new创建项目,bee run运行项目等。

    用bee运行项目,项目自带热更新(是现在后台程序常用的一种技术,即在服务器运行期间,可以不停服替换静态资源。替换go文件时会自动重新编译。)

    安装完之后,bee可执行文件默认存放在$GOPATH/bin里面,所以需要把$GOPATH/bin添加到环境变量中才可以进行下一步

    $ cd ~
    $ vim .bashrc
    //在最后一行插入
    export PATH="$GOPATH/bin:$PATH"
    //然后保存退出
    $ source .bashrc
    

    安装好之后,运行bee new preojectName来创建一个项目,注意:通过bee创建的项目代码都是在$GOPATH/src目录下面的

    生成的项目目录结构如下:

    quickstart
    |-- conf
    |   `-- app.conf
    |-- controllers
    |   `-- default.go
    |-- main.go
    |-- models
    |-- routers
    |   `-- router.go
    |-- static
    |   |-- css
    |   |-- img
    |   `-- js
    |-- tests
    |   `-- default_test.go
    |-- views
        `-- index.tpl
    
    

    **进入项目目录 **执行bee run命令,在浏览器输入网址:127.0.0.1:8080,显示如下:

    在这里插入图片描述

2.4beego的项目结构分析

quickstart
|-- conf
|   `-- app.conf
|-- controllers
|   `-- default.go
|-- main.go
|-- models
|-- routers
|   `-- router.go
|-- static
|   |-- css
|   |-- img
|   `-- js
|-- tests
|   `-- default_test.go
|-- views
    `-- index.tpl

conf文件夹:放的是项目有关的配置文件

controllers:存放主要的业务代码

main.go:项目的入口文件

models:存放的是数据库有关内容

routers:存放路由文件,路由作用是根据不同的请求指定不同的控制器

static:存放静态资源,包括图片,html页面,css样式,js文件等

tests:测试文件

views:存放视图有关内容

后面我们重点需要操作的是MVC文件夹,routers文件夹。

2.5Beego快速体验

在这里插入图片描述

前面我们简单了解了 beego初始化的内容,那么就来个beego的快速体验吧!

根据上图所示的步骤,对自己创建的项目进行三步修改,然后在浏览器是否能看到修改之后的效果。

如果把你们前面做的静态网页放到views文件夹下呢?一个静态网站是不是就出现啦!有没有感受到beego开发网站的快捷!

代码分析

c.Data["Email"] = "astaxie@gmail.com"是给视图传递数据,在视图界面里面需要用{ { }}加上.才能获取到,比如这行代码的意思就是,给视图传递,**Key为Email,value为astaxie@gmail.com **的数据。在视图中要通过{ {.Email}}就能获取到value值。

c.TplName = "index.tpl"的作用是指定视图。这里面需要注意的是,默认指定的界面是tpl结尾,但是打开这个文件分析,发现还是一个html界面。所以我们也可以用html文件当视图文件。

通过我们对Beego的快速体验能够得出如下结论:

控制器(Controller)的作用

1.能够给视图传递数据

2.能够指定视图

视图(View)的作用

1.view本质就是个html。所以能在浏览器显示

2.能够接收控制器传递过来的数据

2.6Beego运行流程分析

在这里插入图片描述

  • 浏览器发出请求

  • 路由拿到请求,并给相应的请求指定相应的控制器

  • 找到指定的控制器之后,控制器看是否需要查询数据库

  • 如果需要查询数据库就找model取数据

  • 如果不需要数据库,直接找view要视图

  • 控制器拿到视图页面之后,把页面返回给浏览器

    根据文字流程分析代码流程

  • 从项目的入口main.go开始

  • 找到router.go文件的Init函数

  • 找到路由指定的控制器文件default.go的Get方法

  • 然后找到指定视图的语法,整个项目就串起来啦。

2.7Post案例实现

刚才我们分析了beego项目的整个运行流程,最终是如何调到Get方法的呢?beego通过内部语法给不同的http请求指定了不同的方法,因为我们是从浏览器地址栏发送的请求,属于get请求,所以调用的是Get方法。为了检验老师说的对不对,我们可以实现一个post请求,看看效果。

2.7.1前端修改

前端代码如下:

修改我们刚才创建的新的视图,为了能够发送post请求,我们在视图中添加一个能发送post请求的控件form

<form method="post" action="/index">
    <input type="submit">
</form>

然后设置一个能接收后台传递过来的数据的标签

<h1>hello {
   
   {
   
   .data}}</h1>

全部代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值