render_template 是用于从应用的templates目录加载并渲染指定的HTML模板,它会将传递的字典作为上下文变量传递到模板中,前后端如何写
时间: 2024-10-01 10:10:26 浏览: 24
在Flask中,`render_template` 是一种方便的方法,用于前端和后端协作。前端通常负责设计HTML模板,后端则提供数据填充这些模板。以下是基本的步骤:
1. **前端** (HTML文件): 在你的项目的`templates`目录下创建一个HTML文件,如`base.html` 或者 `index.html`。在这些文件中,你可以定义结构和标记,比如表格、列表等,然后用占位符(如`{{ variable_name }}`)表示需要后端注入的数据部分。
```html
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>{{ title }}</h1>
<ul>
{% for item in items %}
<li>{{ item.text }}</li>
{% endfor %}
</ul>
</body>
</html>
```
2. **后端** (Python脚本): 在Flask视图函数中,使用`render_template` 函数,传入模板名称以及你需要传递的字典,这个字典就是之前模板中的上下文变量。
```python
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
data = {
'title': 'Home Page',
'items': [
{'text': 'Item 1'},
{'text': 'Item 2'}
]
}
return render_template('index.html', context=data)
```
在这里,`data`字典包含了前端需要显示的所有信息,`title`是标题,`items`是一个列表,每个字典项代表列表项的内容。
运行你的Flask应用,当用户访问主页(默认路径通常是"/")时,服务器就会读取`index.html`,并替换模板中的占位符,形成完整的HTML内容发送到客户端。
阅读全文