📜  Flask 渲染模板(1)

📅  最后修改于: 2023-12-03 14:41:13.576000             🧑  作者: Mango

Flask渲染模板

在Flask框架中,渲染模板是一种将动态数据嵌入到静态文件中的常见方式。这允许我们以动态的方式呈现HTML页面或其他类型的文档。在本文中,我们将讨论如何使用Flask来呈现模板。

安装Flask框架

首先,我们需要安装Flask框架。安装方法如下:

pip install Flask
创建Flask应用

创建一个Flask应用程序的最简单方法是创建一个新的Python文件,如app.py,并添加以下代码:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

if __name__ == '__main__':
    app.run()

在上面的代码中,我们创建了一个名为app的应用。我们使用render_template()函数通过Flask应用程序中的Jinja2模板引擎渲染模板。我们使用@app.route()装饰器来定义我们的基本路由。在这个例子中,我们定义了一个index()路由函数,它将呈现名为index.html的页面。

现在,我们需要在应用程序的根目录中创建一个名为templates的文件夹,并在其中添加一个名为index.html的文件。

<!DOCTYPE html>
<html>
<head>
    <title>Flask Template Example</title>
</head>
<body>
    <h1>Hello World!</h1>
</body>
</html>

此模板文件包含一个简单的HTML文档,其中包含一个标题"Flask Template Example"和一个H1元素"Hello World!"。

通过Flask渲染模板

现在,我们已经创建了一个名为index.html的模板文件,并将其放置在了templates文件夹中。接下来,我们需要通过Flask来渲染模板。首先,我们需要修改我们的index()路由函数:

@app.route('/')
def index():
    return render_template('index.html', title='Flask Template Example', message='Hello World!')

在这个例子中,我们在render_template()函数中添加了titlemessage关键字参数。这些参数将在我们的模板文件中使用。

现在,我们需要通过Jinja2模板引擎添加这些参数到我们的模板文件中。使用Flask模板引擎,我们可以使用标准HTML标记,并在必要时包含Jinja2特定的语法。下面是我们修改后的模板文件:

<!DOCTYPE html>
<html>
<head>
    <title>{{ title }}</title>
</head>
<body>
    <h1>{{ message }}</h1>
</body>
</html>

在这个例子中,我们在<title>标记中使用了{{ title }}模板变量,以及在<h1>标记中使用了{{ message }}模板变量。现在,我们的Flask应用程序将使用这些变量渲染我们的模板文件。

总结

在本文中,我们学习了如何使用Flask框架和Jinja2模板引擎渲染模板。我们创建了一个简单的Flask应用程序,并使用render_template()函数来呈现我们的模板。我们还学习了如何使用Jinja2模板引擎将数据添加到我们的HTML模板中。

参考资料
  • Flask文档 (http://flask.pocoo.org/docs/)
  • Jinja2模板引擎文档 (http://jinja.pocoo.org/docs/)