flask 数据库如何渲染相关数据
时间: 2024-03-21 22:18:09 浏览: 40
在 Flask 中,可以使用模板引擎来渲染数据库中的数据。常用的模板引擎有 Jinja2 和 Mako 等。
以下是一个简单的示例,演示如何使用 Jinja2 模板引擎从数据库中获取数据并将其渲染到 HTML 页面中:
1. 安装 Flask 和 Jinja2
```
pip install Flask
pip install Jinja2
```
2. 创建 Flask 应用
```python
from flask import Flask, render_template
app = Flask(__name__)
```
3. 配置数据库
```python
from flask_sqlalchemy import SQLAlchemy
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://user:password@localhost/db_name'
db = SQLAlchemy(app)
```
4. 创建数据库模型
```python
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
email = db.Column(db.String(50))
def __repr__(self):
return '<User %r>' % self.name
```
5. 创建路由
```python
@app.route('/')
def index():
users = User.query.all()
return render_template('index.html', users=users)
```
6. 创建模板文件
在 templates 目录下创建一个 index.html 文件,代码如下:
```html
<!doctype html>
<html>
<head>
<title>Flask Database Example</title>
</head>
<body>
<h1>Users:</h1>
<ul>
{% for user in users %}
<li>{{ user.name }} - {{ user.email }}</li>
{% endfor %}
</ul>
</body>
</html>
```
7. 启动应用
```python
if __name__ == '__main__':
app.run()
```
以上代码将从数据库中获取所有用户,并将它们传递到 index.html 模板中进行渲染。在模板中,使用 Jinja2 的模板语法来遍历用户数据并将其呈现为 HTML 页面。
阅读全文