如何使多个web2py应用程序使用相同的layout.html?

时间:2011-09-12 23:42:14

标签: python css web2py

我有三个应用程序,但我希望它们使用相同的layout.html和css。有没有办法实现这个目标?

修改

我将静态文件夹和layout.html等放在web2py root下的/ common /中。

这是我在模型中所做的:

import os
global web2py_path
web2py_path = os.environ.get('web2py_path', os.getcwd())
session.layout_path = web2py_path + '/common/layout.html'
print 'session.layout_path = ' + session.layout_path

然后在视图中:

{{extend session.layout_path}}

编辑2:

关于以下关于编译的评论,我决定将'common'文件夹放入'/ applications /'并将静态文件夹(css,images)放在'common'文件夹中,就像常规应用程序一样。然后我将layout.html放入'common'的根目录中。然后从另一个应用程序的角度来看,我使用了:

{{extend '../../common/layout.html'}}

其中引用了普通应用中的layout.html。然后,此layout.html文件使用:

引用'common'中静态文件夹中的文件
{{=URL('common','static','css','style.css')}}

就像你经常申请一样。

1 个答案:

答案 0 :(得分:5)

在您的web2py文件夹的根目录中创建一个名为“templates”的新文件夹

/的web2py /模板

将你的layout.html放在那里。

现在在您的观点中执行:

{{extend 'path/to/web2py/templates/layout.html'}}