首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bottle @view ()

Bottle @view ()
EN

Stack Overflow用户
提问于 2014-02-23 03:59:04
回答 2查看 1.9K关注 0票数 1

使用模板()呈现视图

代码语言:javascript
复制
@get('/start/<page:int>')
def start(page=1):
    return template('start', page=page)

使用视图()装饰器的相同示例:

代码语言:javascript
复制
@get('/start/<page:int>')
@view('start')
def start(page=1):
    return dict(page=page)

除了个人喜好之外,这两者之间还有什么区别吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-06 23:26:25

好吧,我不是一个专业的开发人员,所以我可能会说一些与编码中最基本的良好方式背道而驰的东西,但是我发现使用返回模板()更有用,因为我可以使用几个模板,而使用视图装饰器则是不可能的。例如:

代码语言:javascript
复制
@get('/start/<page:int>')
def start(page=1):
    return template('header',username=username)+template('start', page=page)+template('foot')

当然,在模板中使用@views和%include子模板也可以做到这一点,而且可能还有其他一百万种方式,但是.这是不同的!

...Or可以在一个@视图中调用多个模板吗?

票数 2
EN

Stack Overflow用户

发布于 2014-02-24 14:02:43

我的理解是:不,除了偏好,没有什么不同。(同样,您可以编写插件或使用路由装饰器来完成许多相同的任务。)它们是实现相同目标的等效方法:呈现模板。

瓶子模板文档支持这一点:

要呈现模板,可以使用template()函数或view()装饰器。 ..。 view()装饰器允许您返回带有模板变量的字典,而不是调用template()。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21964028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档