我们可以使用flask渲染.ejs文件吗?



我目前正在学习flask框架后完成我的node.js和express。我只是想知道我们可以在flask中渲染。js文件,因为我们可以在node js中做。

据我所知,没有Python库能够呈现.ejs(可嵌入的JavaScript模板)文件。这很可能是因为ejs文件允许使用大量JavaScript语法(如果不是任意的JavaScript)。所以在Python中实现它会很痛苦。然而,有很多模板语言都支持Python(请参阅Python wiki上的列表)。也就是说,理论上可以将ejs作为单独的进程执行:

import json
import subprocess
from flask import Flask
app = Flask("app")
data = {
"title": "Example",
"user": { "firstName": "World" },
"messages": [ "foo", "bar", "baz" ]
}
@app.route("/")
def hello_world():
# Note: this assumes you have globally installed ejs with: npm install -g ejs
ejsRenderer = subprocess.Popen(
["ejs", "example.ejs"], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
rendered = ejsRenderer.communicate(bytes(json.dumps(data), "utf8"))[0]
ejsRenderer.stdin.close()
ejsRenderer.wait()
return rendered
app.run(host="0.0.0.0", port=8080)

最新更新