簡體   English   中英

從python中的HTML模板生成HTML?

[英]Generate HTML from HTML template in python?

我想用JSPJade這樣的標簽設計自己的HTML模板,然后將數據從python傳遞給它,並使其生成完整的html頁面。

我不想像DOM一樣在python端構造文檔。 僅數據進入頁面,頁面臨時決定數據的布局方式。

我不想使用HTTP提供結果頁面,僅生成HTML文件。

可能嗎?

UPDATE

我找到了Jinja2,但是我對模板的要求很奇怪。 例如,他們希望我與

env = Environment(
    loader=PackageLoader('yourapplication', 'templates'),
    autoescape=select_autoescape(['html', 'xml'])
)

雖然說包yourapplication沒有找到。 如果我刪除loader參數,它會在網上抱怨

template = env.get_template('mytemplate.html')

no loader for this environment specified

我可以只從磁盤讀取模板並用變量填充它,而無需額外的東西嗎?

只需使用FileSystemLoader

import os
import glob
from jinja2 import Environment, FileSystemLoader

# Create the jinja2 environment.
current_directory = os.path.dirname(os.path.abspath(__file__))
env = Environment(loader=FileSystemLoader(current_directory))

# Find all files with the j2 extension in the current directory
templates = glob.glob('*.j2') 

def render_template(filename):
    return env.get_template(filename).render(
        foo='Hello',
        bar='World'
    )

for f in templates:
    rendered_string = render_template(f)
    print(rendered_string)

example.j2

<html>
    <head></head>
    <body>
        <p><i>{{ foo }}</i></p>
        <p><b>{{ bar }}</b></p>
    </body>
</html

暫無
暫無

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

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