📌  相关文章
📜  使用 Flask 设置 Google Cloud SQL(1)

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

使用 Flask 设置 Google Cloud SQL

概述

Google Cloud SQL 是谷歌提供的一种云数据库服务,可以与 Flask 框架结合使用。在本文中,我们将介绍如何使用 Flask 设置 Google Cloud SQL,以提供一个动态的 Web 应用程序。

步骤
1. 创建数据库实例

首先,我们需要进入 Google Cloud Console,在“SQL”部分中创建一个新的数据库实例。你可以选择一个可用区域,配置虚拟机规格,设置数据库密码等等。

2. 连接数据库实例

为了连接到新创建的数据库实例,我们需要安装 Google 官方 Python 包 google-cloud-sqlalchemy。可以通过 pip 命令进行安装:

pip install google-cloud-sqlalchemy

安装完成后,我们需要在 Flask 代码中添加以下配置:

import os

from flask import Flask
from google.cloud import sqlalchemy

app = Flask(__name__)

# 添加连接数据库的配置
DATABASE = {
    'drivername': 'mysql+pymysql',
    'username': 'root',
    'password': os.environ.get('MYSQL_PASSWORD'),
    'host': os.environ.get('MYSQL_HOST'),
    'port': 3306,
    'database': 'mydatabase'
}

# 创建数据库引擎
engine = sqlalchemy.create_engine(sqlalchemy.engine.url.URL(**DATABASE))

# 连接数据库
connection = engine.connect()

@app.route('/')
def hello():
    return 'Hello World!'

其中,MYSQL_PASSWORDMYSQL_HOST 等参数需要根据数据库实例的具体配置进行设置。

3. 创建数据库表格

创建数据库表格的方式有很多种,这里我们介绍其中一种简单的方式。我们可以使用 Flask 的 SQLAlchemy 框架来定义数据库表格结构,然后使用 create_all() 函数创建相应的表格。以下是代码示例:

from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] = os.environ.get('DATABASE_URL')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

# 创建 SQLAlchemy 对象
db = SQLAlchemy(app)

# 定义数据模型
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(120), unique=True)

# 创建表格
db.create_all()

@app.route('/')
def hello():
    return 'Hello World!'

可以看到,我们首先通过 SQLalchemy() 函数创建了一个 SQLAlchemy 对象,然后定义了一个 User 模型类,并通过 db.create_all() 函数创建了一个名为 user 的表格。

4. 使用数据库数据

当我们成功地建立了数据库表格后,我们需要使用数据库中的实际数据。以下是代码示例:

from flask import render_template

@app.route('/')
def show_users():
    users = User.query.all()
    return render_template('users.html', users=users)

这里我们定义了一个名为 show_users() 的函数,通过 User.query.all() 命令查询了所有的用户,并将查询结果传递到 users.html 模板中。

5. 完成

至此,我们已经成功地将数据库和 Flask 框架结合使用,实现了一个简单的 Web 应用程序。我们可以通过其他 Flask 扩展库,如 Flask-WTF 等,进一步增强我们的应用程序。