本文将指导如何将数据库与Django应用相连接。通过本教程的学习,将对SQL数据库、它们的特性、属性以及实际应用有一个充分的理解。本文是作为“数据科学博客大赛”的一部分发布的。
SQL,即结构化查询语言,是一种用于创建和管理关系型数据库的编程语言。关系型数据库由包含行和列数据的表格组成,这些表格在一个预定义的模型/模式中,并且这些表格中的数据之间存在关系。它们也被称为关系型数据库管理系统(RDBMS)。关系型数据库以电子表格或Excel表格格式存储数据。SQL数据库就是关系型数据库的一个例子。一些例子包括:
云SQL是平台即服务(PaaS)的一个例子。它是提供高可用性的最佳数据库之一,自动管理延迟、更新、备份等。可以使用各种云SQL服务提供商的服务,如Google Cloud Platform(GCP)、Microsoft Azure、AWS等。本教程使用GCP创建云SQL数据库。
1. 登录到GCP控制台。 前提条件:必须在Google Cloud上有一个计费账户,这是一项付费服务。 2. 创建一个新项目或使用现有项目。 3. 选择新创建的项目。 4. 导航到SQL。 5. 点击创建实例按钮。 6. 选择SQL数据库的类型。在本教程中,选择了PostgreSQL。 7. 启用PostgreSQL实例API。 8. 填写数据库配置,如ID、密码等。还可以根据配置监控实例的月费用。最后,在选择所有配置后创建实例。 9. 新创建的数据库看起来像这样: 10. 可以看到实例的公共和内部IP地址。还可以打开Cloud Shell访问其终端。
通过启用此API,可以通过Cloud Shell控制数据库。 1. 导航到APIs & Services >> Library。 2. 搜索“Cloud SQL管理API”并启用它。 3. 导航到APIs & Services >> Credentials以创建一个新的服务账户。
1. 现在,导航到SQL数据库并打开Cloud SQL Shell。
2. 在Cloud SQL Shell中,输入以下命令,然后输入在创建实例时设置的密码。
注意:以下命令可能与不同。
$gcloud SQL connect aryansqldb –user=postgres –quiet
可以使用Shell或GCP控制台创建新数据库。将向展示两种方法。
a) 使用Shell创建DB:
$ CREATE DATABASE #sqltutdb;
使用以下命令获取所有数据库的列表:
$ l
可以观察到数据库已成功创建。
b) 使用GCP控制台创建DB:
导航到Databases创建一个选择名称的新数据库。
本节将配置防火墙规则,以允许所有传入请求或流量访问实例。 1. 导航到Connections >> Networking。 2. 点击添加网络以添加想要允许的IP地址范围。选择了IP地址0.0.0.0/0。在提供登录凭据后,它将允许所有IPV4客户端连接到实例。但在生产构建中,必须只添加应用程序将托管的特定IPV4地址。
本节将创建一个示例Django应用,并远程将该应用与云SQL数据库连接。
1. 安装Django
$ pip install django
$ pip install psycopg2
2. 创建一个新项目
$ django-admin startproject #sqldbtut
3. 配置Settings.py文件
需要将默认数据库从SQLite更改为PostgreSQL。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': "", #sqltutdb
'USER': "", #postgres
'PASSWORD': "",
'HOST': "",
'PORT': 5432,
}
4. 在数据库中创建迁移
为了检查数据库是否成功连接,将在数据库中创建迁移。
$ python manage.py makemigrations
$ python manage.py migrate
太棒了!创建了一个云SQL数据库,并成功测试了它。