Flask作为一个轻量级的Python Web框架,以其简洁、灵活著称;而MySQL,作为一款开源的关系型数据库管理系统,凭借其高效、稳定的特点,在数据库领域占有一席之地
将这两者结合,可以构建出既高效又实用的Web应用
本文将详细介绍如何使用Flask从MySQL数据库中读取数据并显示在网页上,让你轻松掌握这一关键技能
一、环境准备 在开始之前,请确保你的开发环境中已经安装了以下软件: 1.Python:推荐使用Python 3.x版本
2.Flask:通过pip安装,命令为`pip installFlask`
3.MySQL:安装MySQL服务器,并创建一个数据库和用户
4.Flask-MySQLdb:一个Flask扩展,用于连接MySQL数据库,安装命令为`pip install Flask-MySQLdb`
二、创建Flask应用 首先,创建一个基本的Flask项目结构
假设我们的项目名为`flask_mysql_app`,项目结构如下: flask_mysql_app/ │ ├── app.py ├── templates/ │ └── index.html └── requirements.txt 在`requirements.txt`文件中添加所需的依赖包: Flask==2.0.1 Flask-MySQLdb==0.2.0 三、配置数据库连接 打开`app.py`文件,编写以下代码来配置数据库连接: from flask import Flask, render_template from flask_mysqldb import MySQL app =Flask(__name__) MySQL configurations app.config【MYSQL_HOST】 = localhost app.config【MYSQL_USER】 = your_mysql_user app.config【MYSQL_PASSWORD】 = your_mysql_password app.config【MYSQL_DB】 = your_database_name Initialize MySQL mysql =MySQL(app) @app.route(/) def index(): # Query the database cursor = mysql.connection.cursor() cursor.execute(SELECTFROM your_table_name) result = cursor.fetchall() # Render the template with the results returnrender_template(index.html, result=result) if __name__== __main__: app.run(debug=True) 在这段代码中,我们首先导入了必要的模块,并创建了一个Flask应用实例
然后,通过`app.config`字典配置了MySQL数据库的连接信息
使用`Flask-MySQLdb`扩展初始化MySQL连接
在`index`路由中,我们执行了一个SQL查询,从指定的表中获取所有数据,并将结果传递给模板进行渲染
四、创建HTML模板 接下来,在`templates/index.html`文件中编写以下HTML代码来展示数据库中的数据: html>
{{column }} |
---|
{{cell }} |
为了修正这一点,我们需要稍微修改一下`app.py`中的代码,以便在传递结果的同时,也传递列名
五、完善数据库查询与模板渲染 修改`app.py`中的`index`函数,以获取列名并传递给模板: @app.route(/) def index(): cursor = mysql.connection.cursor(dictionary=True)Use dictionary cursor for column names cursor.execute(SELECTFROM your_table_name