2011-09-12 37 views
4

我有三个应用程序,但我希望他们使用相同的layout.html和CSS。有什么办法可以做到这一点?如何让多个web2py应用程序使用相同的layout.html?

编辑:

我把静态文件夹和的layout.html等中/普通/ web2py的根目录下。

这里就是我所做的模型:

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')}} 

正如您对常规应用程序所做的一样。

+0

请注意,如果您使用{{扩展变量}}你不能编译你的应用程序。 compialtion仅适用于模板文件的显式路径。 –

+0

好的,你可以在文档中的任何地方引用此限制吗? –

回答

5

在你的web2py文件夹的根目录中创建一个名为 '模板'

/web2py中/模板

新文件夹,把你的layout.html那里。

现在

在你的意见办:

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

谢谢,看我的编辑。 –

相关问题