📜  Python | 在Flask中使用for循环(1)

📅  最后修改于: 2023-12-03 15:04:10.382000             🧑  作者: Mango

Python | 在Flask中使用for循环

在Flask中使用for循环是很常见的,它可以更方便地渲染模板和遍历数据。下面是一些关于如何在Flask中使用for循环的实用示例。

遍历列表

如果您有一个列表,您可以使用Flask中的for循环遍历这个列表。例如,在Flask路由中返回一个包含数字1到5的列表数据。

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/list')
def show_list():
    mylist = [1, 2, 3, 4, 5]
    return render_template('list.html', mylist=mylist)

if __name__ == '__main__':
    app.run()

在这个示例中,我们展示了如何在Flask路由中定义show_list函数来展示一个列表。使用render_template函数渲染了一个名为'list.html'的HTML模板并将列表数据传递给这个模板。

在HTML模板中,您可以使用Flask中的for循环遍历这个列表数据。

<ul>
  {% for i in mylist %}
    <li>{{ i }}</li>
  {% endfor %}
</ul>

在这个示例中,我们使用for循环来遍历列表mylist,并在HTML模板中展示这个列表。

遍历字典

类似地,您可以使用Flask中的for循环遍历字典。例如,在Flask路由中返回一个包含键值对的字典数据。

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/dict')
def show_dict():
    mydict = {'name': 'John', 'age': 25, 'sex': 'male'}
    return render_template('dict.html', mydict=mydict)

if __name__ == '__main__':
    app.run()

在这个示例中,我们展示了如何在Flask路由中定义show_dict函数来展示一个字典。使用render_template函数渲染了一个名为'dict.html'的HTML模板并将字典数据传递给这个模板。

在HTML模板中,您可以使用Flask中的for循环遍历这个字典数据。

<ul>
  {% for key, value in mydict.items() %}
    <li>{{ key }}: {{ value }}</li>
  {% endfor %}
</ul>

在这个示例中,我们使用for循环来遍历字典mydict,并在HTML模板中展示这个字典。

遍历查询结果

最后,您可以使用Flask中的for循环遍历查询结果。例如,在Flask路由中查询一个包含所有学生的数据库,并返回这些学生的数据。

from flask import Flask, render_template
from models import db, Student

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///students.db'

db.init_app(app)

@app.route('/students')
def show_students():
    students = Student.query.all()
    return render_template('students.html', students=students)

if __name__ == '__main__':
    app.run()

在这个示例中,我们引入了数据库模型Student和一个包含数据库连接和配置的模块models。在Flask路由中定义show_students函数来展示所有学生数据。使用render_template函数渲染了一个名为'students.html'的HTML模板并将学生数据传递给这个模板。

在HTML模板中,您可以使用Flask中的for循环遍历所有学生的数据。

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Age</th>
      <th>Gender</th>
    </tr>
  </thead>
  <tbody>
    {% for student in students %}
      <tr>
        <td>{{ student.name }}</td>
        <td>{{ student.age }}</td>
        <td>{{ student.gender }}</td>
      </tr>
    {% endfor %}
  </tbody>
</table>

在这个示例中,我们使用for循环遍历所有学生students,并在HTML模板中展示这些学生的数据。

希望这些示例能够帮助您在Flask中更好地使用for循环。