我有三个应用程序,但我希望它们使用相同的layout.html和css.有没有办法实现这个目标?
编辑:
我将静态文件夹和layout.html等放在web2py根目录下的/ 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
Run Code Online (Sandbox Code Playgroud)
然后在视图中:
{{extend session.layout_path}}
Run Code Online (Sandbox Code Playgroud)
编辑2:
关于下面关于编译的评论,我决定将'common'文件夹放入'/ applications /'并将静态文件夹(css,images)放在'common'文件夹中,就像常规应用程序一样.然后我将layout.html放入'common'的根目录中.然后从另一个应用程序的视图,我使用:
{{extend '../../common/layout.html'}}
Run Code Online (Sandbox Code Playgroud)
其中引用了普通应用中的layout.html.然后,此layout.html文件使用以下内容引用"common"中静态文件夹中的文件:
{{=URL('common','static','css','style.css')}}
Run Code Online (Sandbox Code Playgroud)
就像你经常申请一样.
在web2py文件夹的根目录中创建一个名为"templates"的新文件夹
/的web2py /模板
把你的layout.html放在那里.
现在在你的意见中做:
{{extend 'path/to/web2py/templates/layout.html'}}
Run Code Online (Sandbox Code Playgroud)