2016-09-15 3 views
0

属性私は次のようにボディタグの属性を指定する必要があります。のweb2py:<body> -Tagは

もちろん
<body onresize="window.location.href=window.location.href"> 

私は対応するビューでこれを行うことができます。しかし、その後、結果のHTMLコードに2つの開始ボディタグがあります。 HTMLコードは機能しますが、指定された標準に準拠していません。

私の質問は、属性を指定する方法がある場合、それが生成されたレスポンスボディタグに含まれることです。

ありがとうございました!

答えて

1

、あなたはこのような何かを行うことができますノート、resizable_body属性は、レイアウトを拡張する前に設定されている):

{{response.resizable_body = True}} 
{{extend 'layout.html'}} 

response.resizable_bodyは、単に(responseStorageオブジェクトであるので、あなたが存在しない属性にアクセスしようとしたとき、それは単にNoneを生み出す)、デフォルトでNoneになるように、明示的に、いずれかの時点でFalseresponse.resizable_bodyを設定する必要はありません。

+0

さまざまなレイアウトビューを持つよりも、完璧で非常にエレガントです。 ありがとうアンソニー! – Clemens

0

さて、私はそれが身体タグは「layout.html」を拡張から派生するので、あなたは{{}「layout.html」を拡張する;-)

考えるとき、すべては簡単だ...解決策を見つけました} bodyタグを変更することができます。すべてのビューに対してonresize属性を持つ必要がない場合は、この特別な目的のために "layout-onresize.html"のような "layout.html"の適合を持つことができます。

<body{{=XML(' onresize="window.location.href=window.location.href"') if response.resizable_body else ''}}> 

そして、モデルやコントローラに、あなたが行うことができます:

response.resizable_body = True 

またはビューの( "layout.html" ビューで

+1

属性が条件付きである必要がある場合、完全に別のレイアウトビューを作成するのではなく、[this](http://stackoverflow.com/a/39513969/440323)のようなソリューションを使用する方が簡単です。 – Anthony

関連する問題