golang 的 pongo2 模板渲染问题?

2018-10-28 19:23:56 +08:00
 dopdopdop

type UserInfo struct {

UserId              int    `json:"user_id"`

Nickname            string `json:"nickname"`

}

func (data UserInfo) A() int{ return 1 }

func (data *UserInfo) B() int{ return 2 }

...

c.HTML( http.StatusOK, "test.html", pongo2.Context{

    "user_info": userinfo,
    
    "user_infos": &userinfo,
    
})
{{user_info.A()}}
//1
{{user_info.B()}}
//空
{{user_infos.A()}}
//1
{{user_infos.B()}}
//2

为什么 user_info.B()为空??

1184 次点击
所在节点    问与答
2 条回复
ntop
2018-10-28 23:14:49 +08:00
这个 user_info.B() 方法调用传入的是参数和方法签名不一致,所以模板会出现渲染错误。你可以自己手动这么调用一次试试,会报错的。
dopdopdop
2018-10-29 22:39:34 +08:00
@ntop 试了一下没有报错,如果是“调用传入的是参数和方法签名不一致”,为什么{{user_infos.A()}}可以渲染呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/501944

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX