📅  最后修改于: 2023-12-03 15:34:04.067000             🧑  作者: Mango
render_template
是Python web框架中的一种重要方法,通常用于从服务器输出 HTML 页面。这个方法可以轻松地将Python代码和HTML代码合并到一起。
render_template
是Flask中的方法,用于从服务端返回一个HTML页面。它的语法如下:
from flask import render_template
@app.route('/home')
def home():
return render_template('home.html')
在此示例中,我们定义了一个名为“home”的路由,每当该路由被请求时,将返回名为“home.html”的页面。
使用render_template
方法时,需要在Flask的安装目录下创建一个名为“templates”的文件夹。您所有的HTML代码都应该在这个文件夹里。
例如,假设您有一个带有文件夹结构的项目:
myproject/
app.py
templates/
home.html
在home.html
中,您可以使用其他Flask模块提供的变量,如:
<!doctype html>
<html>
<head>
<title>My Website</title>
</head>
<body>
<h1>Welcome to my website, {{ user.name }}!</h1>
</body>
</html>
在上面的代码片段中,我们使用了变量{{ user.name }}
,这个变量将在Flask服务器中使用。
此外,您还可以将Python代码与HTML代码结合使用。例如,您可以使用循环在HTML中创建一个表格:
from flask import render_template
@app.route('/users')
def users():
users = [
{'name': 'Lucas', 'age': '23', 'country': 'Spain'},
{'name': 'Emma', 'age': '29', 'country': 'USA'},
{'name': 'Maggie', 'age': '19', 'country': 'Canada'}
]
return render_template('users.html', users=users)
在以上示例中,users
变量是一个Python列表,其中包含三个Python字典。每个字典都表示一个用户。
接下来,在users.html
中,我们将使用Python代码动态地创建表格:
<!doctype html>
<html>
<head>
<title>My Website</title>
</head>
<body>
<table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>Country</th>
</tr>
</thead>
<tbody>
{% for user in users %}
<tr>
<td>{{ user.name }}</td>
<td>{{ user.age }}</td>
<td>{{ user.country }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>
在以上代码片段中,我们使用了循环{% for user in users %}
,它遍历了我们已定义的users
变量,并在HTML表格中输出它们的属性。
Python的render_template
方法可以方便地将Python代码和HTML代码结合在一起,以产生灵活的网页。无论是动态地生成表格,还是根据具体用户动态地创建欢迎页面,render_template
方法都是一个十分重要的工具。