将变量传递到 Python 上的 html 文件

Passing variables to html file on Python

我正在使用以下函数执行简单的 HTML 视图:

import cherrypy
class index(object):
    @cherrypy.expose
    def example(self):
        var = "goodbye"
        index = open("index.html").read()
        return index

我们的 index.html 文件是:

<body>
    <h1>Hello, {var}!</h1> 
</body>

如何将 {var} 变量从我的控制器传递到视图?

我正在使用 CherryPy 微框架 运行 HTTP 服务器,我没有使用任何模板引擎。

CherryPy does not provide any HTML template but its architecture makes it easy to integrate one. Popular ones are Mako or Jinja2.

来源:http://docs.cherrypy.org/en/latest/advanced.html#html-templating-support

更改您的 html 文件并对其进行格式化。

index.html

<body>
    <h1>Hello, {first_header:}!</h1>
    <p>{p2:}, {p1:}!</p>
</body>

代码

index = open("index.html").read().format(first_header='goodbye', 
                                         p1='World', 
                                         p2='Hello')

输出

<body>
    <h1>Hello, goodbye!</h1>
    <p>Hello, World!</p>
</body>

以下代码运行良好。相应地更改 HTML 和 Python 代码

index.html

<body>
    <h1>Hello, {p.first_header}</h1>
</body>

Python代码

class Main:
    first_header = 'World!'

# Read the HTML file
HTML_File=open('index.html','r')
s = HTML_File.read().format(p=Main())
print(s)

输出

<body>
    <h1>Hello, World!</h1>
</body>