我有三个应用程序,但我希望它们使用相同的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')}}
就像你经常申请一样。
答案 0 :(得分:5)
在您的web2py文件夹的根目录中创建一个名为“templates”的新文件夹
/的web2py /模板
将你的layout.html放在那里。
现在在您的观点中执行:
{{extend 'path/to/web2py/templates/layout.html'}}