flask—make_response(render_template(*html),一个dic)的用法
时间: 2024-10-01 14:10:23 浏览: 32
一分钟搞懂Flask中的Response响应
在Flask中,`make_response`通常与`render_template`一起使用来返回包含HTML模板渲染后的内容,并附带一个字典数据作为模型数据。`render_template`是Flask的视图函数里用于渲染模板的工具,它接受一个或多个HTML模板文件名和额外的可选参数(如模型数据字典)。
以下是一个基本的示例,假设我们有一个名为`index.html`的模板,里面有个循环可能会引用字典中的键值对:
```python
from flask import Flask, render_template, request, make_response
app = Flask(__name__)
@app.route('/')
def main_view():
# 假设data是一个包含一些信息的字典
data = {
'title': 'Hello World',
'users': [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}]
}
# 使用render_template并传入数据,然后包装到make_response中
response = make_response(render_template('index.html', **data))
# 设置响应的MIME类型为HTML
response.headers['Content-Type'] = 'text/html'
return response
```
在这个场景下,当访问根URL时,`index.html`会被渲染,其中的数据会由`data`字典提供。`**data`语法表示将字典的所有键值对作为关键字参数传递给`render_template`。
阅读全文