2011-10-14 46 views
4

我使用模板引擎'chameleon'開始了一個Python網頁框架'金字塔'的項目。金字塔,變色龍和模板渲染

我是這個框架的初學者,但我必須爲它的客戶使用它。

我按照步驟安裝框架,然後我開始編碼,只是爲了培訓目的!

我的第一個應用程序是一個愚蠢,簡單的CRUD應用程序。

我在做什麼是:

在我__init__.py我有,每個視圖,下面的代碼:

config.add_view( 'myenglishdictionary.views.modify',ROUTE_NAME = 'modify_route' ,渲染= '模板/ base.pt')

base.pt與頁眉和頁腳的主模板,並用下面的代碼一個div:

<div>${body}</div> 

我ñ我的文件view.py每個視圖具有2行類似如下:

body = render('templates/list.pt',{'list':list ,'project':'myProject'}, request=request) 
return {'body':body} 

,並在我的list.pt有哪些將被嵌入base.pt

似乎都工作良好的內容。但是在更新庫之後,現在我無法正確地看到我的模板。

而不是實際的HTML代碼有HTML實體:

&lt;div class="clear"&gt;&lt;/div&gt; 

所以,很明顯的頁面看起來並不好。

問題似乎在渲染方法,因爲base.pt模板的html顯示正確。

回答

6

使用${}語法默認情況下會轉義包含的文本(以幫助抵禦XSS注入攻擊)。

相反,使用structure:前綴告訴渲染引擎無法逃脫你的文字:

<div>${structure: body}</div> 
+0

它完美!非常感謝! –