2012-07-25 29 views
11

我想用Python中的數據填充HTML模板。儘管我不知道任何HTML,但我的一位同事可以準備HTML模板,而我提供數據。但是,他對Python知之甚少。Python中的簡單HTML模板

你可以建議一個非常基本的模板框架,處理這種分離HTML和Python的很好(即沒有太多特殊的語法在HTML中,並沒有太大的HTML對我來說,在Python數據的代碼知道)?理想情況下,HTML模板應該非常接近純HTML。

我也會有表的數據,因此,如果我沒有準備HTML表的代碼這將是很好,但他卻可以用一些最起碼的標記邏輯做到這一點。 理想情況下,即使我的同事使用CSS等更高級的概念,系統也應該可以正常工作。

我發現了extensive list,但由於我不知道技術語言,所以很難判斷哪個系統最接近我的要求。

編輯:關鍵是我們與新手,而我們只需要一個基本的解決方案:) - 他還沒有理想的HTML我並沒有太多超出普通的HTML。

+1

變色龍和Zope頁面模板(都實現相同的屬性語言)提供此;清晰的分離和模板仍然可以在瀏覽器中運行。不幸的是,這種問題不符合本網站的格式,請參閱[FAQ#dontask]。像這些問題往往會導致模糊的答案,這些答案也很快就過時了。如果我們能夠幫助您解決特定問題,請隨時發佈另一個問題! – 2012-07-25 09:44:21

+0

感謝您的解釋。具體的要求是,應該很容易爲完整的新手設置應該限制可能的答案...只要每個人都讀取所有的問題。我不知道如何重新表達它:( – Gerenuk 2012-07-25 09:51:23

+1

你也可以看看「Mako」和「Jinja2」。如果你需要的不僅僅是HTML渲染器,請看看Flask(它非常小,並提供了很好的集成Jinja和Mako) – javex 2012-07-25 09:52:01

回答

11

django具有非常不錯的強大的模板引擎,公司的宗旨是分離蟒蛇邏輯HTML(但這需要你完全使用Django,所以如果你只是想模板它可能是矯枉過正)。

如果你的模板是真的容易(無環路)你可以使用原生的Python string.format功能(我用它生成的配置文件到一些Fortran代碼輔助項目,它是不是那麼糟糕)。

其他選擇可能是jinja2是非常接近Django模板,但獨立的,功能更強大。

+0

謝謝。格式解決了所需的簡單性,但它可能太簡單了,因爲我仍然必須在Python端生成HTML表格標記。這是我沒有選擇最簡單的解決方案的唯一原因。 – Gerenuk 2012-07-25 09:53:01

+1

然後去jinja2。 – 2012-07-25 09:55:49

2

也許我建議在看web2py的呢?在最基本的層次上,您可以簡單地讓您的同事創建html文件,然後在需要數據的地方將其替換爲{{= var}} var可以通過用python函數編寫的web2py控制器進行檢索。從函數中,你可以把你的數據放在一起,並用「return dict(var = var)」返回html視圖。

如果你的觀點是這樣的:

<html> 
    <head> 
     <title>some title</title> 
    </head> 
    <body> 
     <h1>{{=message}}</h1> 
    </body> 
</html> 

控制器看起來是這樣的:

def index(): 
    message = "Hello World" 
    return dict(message=message) 

你也可以使用Django,其他已經提及,但檢查的鏈接,有些web2py documentation

+0

如果OP也在尋找控制器(不僅是模板引擎),我強烈建議使用django。 – 2012-07-25 10:40:48