Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

github.com/jc91715/go-simple-mvc

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/jc91715/go-simple-mvc

  • v0.0.0-20190609061740-dd803b9b38fb
  • Source
  • Go
  • Socket score

Version published
Created
Source

go-simple-mvc

demo

从这个文档build-web-application-with-golang学习到很多。

安装依赖

go get github.com/astaxie/beego
go get github.com/go-sql-driver/mysql

运行

go run main.go

访问 localhost:9090

使用说明

1 添加路由

routes/web.go

a.AddRoute("/posts/:post_id([0-9]+)", map[string]string{
		"GET": "Show",//对应PostController的Show方法
	}, &controller.PostController{})

2 创建控制器

controller下创建PostController.go

package controller

//导入要用到的包

type PostController struct {
	Controller
}
func (c *PostController) Show() {//添加方法

}

3 模型

使用的beego-orm

package model

type RainlabBlogPosts struct {
	Id          int
	Title       string
	ContentHtml string
}

使用

    o := orm.NewOrm()
		
    post := model.RainlabBlogPosts{Id: id}

4 视图

view文件夹下

抽离出header.tplfooter.tpl

{{define "header"}}
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>go-simple-mvc</title>
    <style>
      body{
        margin:30px;
     
      }
    </style>
</head>
<body>
{{end}}
{{define "footer"}}
</body>
</html>
{{end}}

例子 post/show.tpl

{{define "show"}}
{{template "header"}}
<div style="text-align:center"> 
  <a href="/" >回首页</a>
</div>
<div style="width:80%;margin-left:10%"> 
  {{.}}
</div>

{{template "footer"}}
{{end}}

控制器调用视图

  s1, _ := template.ParseFiles("view/layout/header.tpl", "view/post/show.tpl", "view/layout/footer.tpl")//装载视图

  s1.ExecuteTemplate(c.Ct.ResponseWriter, "show", "string")

数据库表结构结构

CREATE TABLE `rainlab_blog_posts` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `content_html` longtext COLLATE utf8mb4_unicode_ci,
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

FAQs

Package last updated on 09 Jun 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc