Actualmente estoy aprendiendo el marco de matraz después de completar mi node.js y express. Solo quiero saber si podemos renderizar el archivo .ejs también en el matraz como podemos hacer en el nodo js.
Por lo que puedo decir, no hay una biblioteca de Python capaz de renderizar archivos .ejs (plantilla de JavaScript incrustable). Lo más probable es que esto se deba al hecho de que los archivos ejs permiten una gran cantidad de sintaxis de JavaScript (si no JavaScript arbitrario). Así que implementar eso dentro de Python sería un fastidio. Sin embargo, hay un montón de lenguajes de plantillas compatibles con Python (consulte esta página en la wiki de Python para obtener una lista). Dicho esto, teóricamente podría simplemente ejecutar ejs como un proceso separado:
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)