flask和html通信
时间: 2023-12-23 15:22:20 浏览: 23
Flask和HTML之间的通信可以通过Flask的模板引擎Jinja2来实现。Jinja2可以在HTML中嵌入Python代码,从而实现动态网页的效果。
首先,在Flask中设置模板引擎:
```python
from flask import Flask, render_template
app = Flask(__name__)
app.jinja_env.variable_start_string = '{{ '
app.jinja_env.variable_end_string = ' }}'
```
然后,在Flask的路由函数中渲染模板:
```python
@app.route('/')
def index():
name = 'Alice'
return render_template('index.html', name=name)
```
其中,`render_template`函数将会在`templates`目录下查找名为`index.html`的模板文件,并将`name`变量传递给模板。
在HTML中,可以通过双大括号`{{ }}`来嵌入Python代码,例如:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello, {{ name }}</title>
</head>
<body>
<h1>Hello, {{ name }}!</h1>
</body>
</html>
```
这样,当用户访问Flask应用的根目录时,将会返回一个动态生成的HTML页面,页面中将会显示"Hello, Alice!"。