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

d3p*_*3pd 4 python jinja2 flask

我试图保持最少的东西,所以我不想创建模板、目录结构等。我在网上有一个简单的 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")
Run Code Online (Sandbox Code Playgroud)

dav*_*ism 7

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

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