Tango+xorm+pongo2 example 例子 国产GO语言框架

#Tango xorm pongo2使用方法: Tango更灵活 xorm好用 jinja用习惯了,go固然要用pongo2html

##安装GO ##安装GO包:go get "github.com/flosch/pongo2" "github.com/go-xorm/xorm" "github.com/lib/pq" "github.com/lunny/tango" "github.com/tango-contrib/tpongo2" ##直接上代码:git

package main

import (
	"fmt"
	"github.com/flosch/pongo2"
	"github.com/go-xorm/xorm"
	_ "github.com/lib/pq"
	"github.com/lunny/tango"
	"github.com/tango-contrib/tpongo2"
)

var engine *xorm.Engine
var HOMENAME string //首页名字

type Home struct {
	tpongo2.Renderer
}

//用户数据表定义
type Users struct {
	// orm.Object
	Id     int64 `xorm:"id pk not null autoincr"`
	Ustate int64 `xorm:"ustate"`
	Name   string
}

var err error

//链接数据库
func init() {
        xorm数据库链接//
	engine, err = xorm.NewEngine("postgres", "user=postgres dbname=db host=127.0.0.1 password=111 sslmode=disable")
	engine.Ping()
	err := engine.Sync2(new(Users))
	//插入数据
	// user := new(Users)
	// user.Name = "yuyu"
	// affected, err := engine.Insert(user)
	// fmt.Println(affected)
	if err != nil {
		fmt.Printf("错误: %s", err.Error())
		// log.Fatal(err)
	}
}

func (this *Home) Get() error {
	HOMENAME := "||||||||||yes today|||||"
	user := new(Users)
	users1 := make([]Users, 0)
	err2 := engine.Where("Id >= ?", 1).Find(&users1)
	engine.Id(2).Get(user)
	if err2 != nil {
		fmt.Println(err2)
	}
	return this.Render("ss.html", pongo2.Context{
		"title":   HOMENAME,
		"name":    users1,
		"nameone": user,
	})
}

func main() {

	o := tango.Classic()
	o.Use(tpongo2.New())
	o.Get("/", new(Home))
	o.Run(8080)
}
相关文章
相关标签/搜索