2011-09-12 23 views
4

私は3つのアプリケーションを持っていますが、同じlayout.htmlとcssを使用したいと思います。これを達成する方法はありますか?複数のweb2pyアプリケーションを同じlayout.htmlを使用する方法

EDIT:

私はweb2pyのルートの下に/ /共通でlayout.htmlなどの静的フォルダを入れて。

は、ここで私がモデルにやったことだ:

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

EDIT 2:

コンパイルについて以下のコメントに関しては、私がすることにしました'common'フォルダを '/ applications /'に置き、静的フォルダ(css、images)を通常のアプリケーションのような 'common'フォルダの中に置きます。私はlayout.htmlを 'common'のルートに配置しました。次に別のアプリの見解から、私は使用しました:

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

これは、一般的なアプリケーションからlayout.htmlを参照しました。次に、このlayout.htmlファイルは、「共通」内の静的フォルダ内のファイルを参照しました。

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

通常のアプリケーションの場合と同じです。あなたのweb2pyのフォルダのルートに

+0

注意を。 compialtionは、テンプレートファイルへの明示的なパスでのみ動作します。 –

+0

ああ、ドキュメントのどこでもこの制限を参照できますか? –

答えて

5

は、 'テンプレート'

/web2pyに/テンプレート

と呼ばれる新しいフォルダを作成しますが、あなたのlayout.htmlを置きます。あなたの意見では今

を行います。あなたは{{変数を拡張}}を使用する場合は、あなたのアプリケーションをコンパイルすることができないことを

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

ありがとう、私の編集を参照してください。 –

関連する問題