webpy中的渲染模板及其变量

2024-10-02 14:25:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在探索webpy,但有一个问题我不知道该怎么解决。在

根据文件。我发现这是一种呈现模板并向模板传递一个变量的方法。在

render = web.template.render('templates')
print render.hello('world')

我在我的演示程序appw中使用了相同的方法。在

^{pr2}$

但每当我运行这段代码时,总是会出错。在

<type 'exceptions.TypeError'> at /
__template__() takes no arguments (1 given)

请帮我解决这个问题。在


Tags: 文件方法代码程序模板webhelloworld
2条回答

只是一个头绪, 如果有人使用$def with (args),它也不会工作。。。 在with()之间的中间不能有空白

您可能缺少$def with(name)

尝试使用此模板作为home.html模板

$def with(name)
Hello $name

可以将$def with()看作一个函数声明。无论您放在$def with()中的任何参数都可以用作模板中的变量。因此,如果有三个参数,那么该模板的render方法将需要三个参数,就像普通函数一样。在

示例模板:

^{pr2}$

渲染调用示例:

return render.home('Bob', datetime.now(), ['apple', 'orange', 'banana'])

另一方面,Webpy模板有点难看,但基本上可以使用python逻辑,比如循环和列表。您需要使用$来启动python代码。在

以下是指向Webpy的模板文档的链接:http://webpy.org/docs/0.3/templetor

相关问题 更多 >