使用Flask生成页面而不使用单独的模板文件

时间:2016-03-13 17:52:51

标签: python flask jinja2

我试图保持最小化,所以我不想创建模板,目录结构等。我在网上有一个简单的CSS文件(通过RawGit)和我想用它来设置视图生成的页面的样式。如何在没有模板的情况下渲染页面?

from flask import Flask
application = Flask(__name__)

# <insert magic here>
# application.get_and_use_my_super_cool_CSS_file(URL)
# <insert magic here>

@application.route("/")
def hello():
    return "hello world"

if __name__ == "__main__":
    application.run(host = "0.0.0.0")

1 个答案:

答案 0 :(得分:4)

如果您不想将模板编写为单独的文件,则可以使用render_template_string代替。这通常不是一个非常有用的功能,因为很难维护用Python字符串编写的大型模板。 Flask的Jinja env在渲染它识别的文件时也提供了一些额外的帮助,例如打开HTML文件的自动视图,因此在直接从字符串渲染时需要更加小心。

return render_template_string('''<!doctype html>
<html>
    <head>
        <link rel="stylesheet" href="css url"/>
    </head>
    <body>
        <p>Hello, World!</p>
    </body>
</html>
'''