flask mysql 网站
时间: 2024-12-31 18:31:50 浏览: 5
### 使用Flask和MySQL创建网站
#### 准备工作
为了构建能够与MySQL数据库交互的Flask网站,需先确保已安装Python以及必要的软件包。具体来说,除了Flask之外,还需安装`Flask-SQLAlchemy`来简化SQLAlchemy在Flask中的使用[^3]。
```bash
pip install Flask SQLAlchemy flask_sqlalchemy
```
#### 配置MySQL环境
从MySQL官方网站下载并完成MySQL的安装之后,启动MySQL服务,并通过命令行工具执行如下语句创建新的数据库:
```sql
CREATE DATABASE my_web_app;
```
这一步骤为后续的应用程序提供了一个专门的数据存储空间[^2]。
#### 初始化Flask项目结构
建立基本的文件夹和文件布局对于任何Web应用程序都是至关重要的。通常情况下,会有一个名为`app.py`的主要入口脚本,在其中定义路由逻辑和其他配置项;另外还需要设置好静态资源目录(如CSS、JavaScript)、模板文件夹等。
#### 连接至MySQL数据库
在`app.py`中导入所需的模块,并初始化Flask实例及其关联的SQLAlchemy对象。接着指定连接字符串指向之前创建好的MySQL数据库。注意替换掉用户名(`root`)、密码(`password`)、主机地址(`localhost`)等相关参数以匹配实际部署情况下的设定[^4]。
```python
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
# 设置数据库URI, 请根据实际情况调整路径部分
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:password@localhost/my_web_app'
db = SQLAlchemy(app)
@app.route('/')
def index():
return "Hello World!"
if __name__ == '__main__':
app.run(debug=True)
```
#### 定义模型类
利用ORM特性可以更容易地操作数据表。下面是一个简单的例子展示如何定义一个表示用户的模型类UserModel:
```python
class UserModel(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
def __repr__(self):
return '<User %r>' % self.username
```
此段代码描述了一张包含id、username和email字段的表格,同时设置了相应的约束条件以保证数据的一致性和完整性[^1]。
#### 执行迁移命令生成表单
当所有的模型都准备好以后,可以通过运行以下命令让SQLAlchemy自动为我们创建对应的物理表结构:
```bash
flask shell
>>> from yourapplication import db
>>> db.create_all()
```
这样就完成了整个流程中最基础的部分——即搭建起一个简单却完整的基于Flask框架并与MySQL相连的小型web应用原型。
阅读全文