簡體   English   中英

Python 中的簡單 HTML 模板

[英]Simple HTML template in Python

我想用來自 Python 的數據填充 HTML 模板。 雖然我不懂任何 HTML,但我的一位同事會在我提供數據的同時准備 HTML 模板。 然而,他對 Python 知之甚少。

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

我還將表格作為數據,所以如果我不必准備 HTML 表格代碼,但他可以用一些最小的標記邏輯來完成,那就太好了。 理想情況下,即使我的同事應用了 CSS 等更高級的概念,系統也應該可以正常工作。

我已經找到了廣泛的列表,但由於我不懂技術語言,因此很難判斷哪個系統最接近我的要求。

編輯:關鍵是我們是新手,我們只需要一個基本的解決方案:) - 但理想情況下對我來說沒有 HTML,對他來說也沒有超出純 HTML 的范圍。

好吧, django有非常強大的模板引擎,其目的是將 HTML 與 python 邏輯分開(但這需要你完全使用 django,所以如果你只是想要模板,這可能是一種矯枉過正)。

如果您的模板真的很簡單(沒有循環),您可以使用本機 python string.format函數(我在一個副項目中使用它為一些 Fortran 代碼生成配置文件,而且還不錯)。

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

我可以建議也看看 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 文檔的鏈接

python中的簡單模板是: https ://docs.python.org/3.6/library/string.html#template-strings

它自帶語言,不需要外部庫。

以下是如何使用模板的示例:

>>> from string import Template
>>> s = Template('$who likes $what')
>>> s.substitute(who='tim', what='kung pao')
'tim likes kung pao'
>>> d = dict(who='tim')
>>> Template('Give $who $100').substitute(d)
Traceback (most recent call last):
...
ValueError: Invalid placeholder in string: line 1, col 11
>>> Template('$who likes $what').substitute(d)
Traceback (most recent call last):
...
KeyError: 'what'
>>> Template('$who likes $what').safe_substitute(d)
'tim likes $what'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM