Как заставить несколько приложений web2py использовать один и тот же layout.html? - PullRequest
5 голосов
/ 13 сентября 2011

У меня есть три приложения, но я хочу, чтобы они использовали один и тот же layout.html и css.Есть ли способ добиться этого?

РЕДАКТИРОВАТЬ:

Я поместил статическую папку и layout.html и т.д. в / common / в корень 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:

ОтносительноВ приведенном ниже комментарии о компиляции я решил поместить «общую» папку в «/ Applications /» и поместить статическую папку (css, images) в «общую» папку, как обычное приложение.Затем я поместил layout.html в корень «общего».Затем из другого приложения я использовал:

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

, который ссылался на layout.html из общего приложения.Затем этот файл layout.html ссылается на файлы в статической папке внутри «common», используя:

{{=URL('common','static','css','style.css')}}

Как и в случае обычного приложения.

1 Ответ

5 голосов
/ 13 сентября 2011

в корне вашей папки web2py создайте новую папку с именем 'templates'

/ web2py / templates

поместите туда файл layout.html.

теперь в вашемПросмотры: 1007

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