Django4全栈进阶之路5 对各类数据库连接设置

发布时间 2023-04-23 20:11:34作者: 城南城南

Django 4 支持多种类型的数据库连接,包括 MySQL、PostgreSQL、SQLite、Oracle 等。对于不同类型的数据库,需要进行不同的设置。下面是 Django 4 对各类数据库连接的设置方法。

MySQL

在 Django 4 中连接 MySQL 数据库,需要使用 django.db.backends.mysql 引擎。在 settings.py 文件中进行配置,示例代码如下:

 
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

其中,'ENGINE' 参数指定数据库类型为 MySQL,'NAME''USER''PASSWORD' 分别指定数据库名称、用户名和密码。'HOST' 参数指定数据库所在的主机名或 IP 地址,这里是本地主机。'PORT' 参数指定数据库连接的端口号,这里是 MySQL 默认端口 3306。

PostgreSQL

在 Django 4 中连接 PostgreSQL 数据库,需要使用 django.db.backends.postgresql 引擎。在 settings.py 文件中进行配置,示例代码如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

其中,'ENGINE' 参数指定数据库类型为 PostgreSQL,'NAME''USER''PASSWORD' 分别指定数据库名称、用户名和密码。'HOST' 参数指定数据库所在的主机名或 IP 地址,这里是本地主机。'PORT' 参数指定数据库连接的端口号,这里是 PostgreSQL 默认端口 5432。

SQLite

在 Django 4 中连接 SQLite 数据库,需要使用 django.db.backends.sqlite3 引擎。在 settings.py 文件中进行配置,示例代码如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

其中,'ENGINE' 参数指定数据库类型为 SQLite,'NAME' 参数指定数据库文件的路径。

Oracle

在 Django 4 中连接 Oracle 数据库,需要使用 django.db.backends.oracle 引擎。在 settings.py 文件中进行配置,示例代码如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.oracle',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '1521',
        'OPTIONS': {
            'threaded': True,
        },
    }
}

 SQL Server 

在 Django 4 中连接 SQL Server 数据库,可以使用 django-pyodbc-azure 库提供的 PyODBC 驱动。首先,需要安装该库,可以使用 pip 命令进行安装:

pip install django-pyodbc-azure

安装完成后,在 settings.py 文件中添加以下代码:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sql_server',
        'NAME': '<database_name>',
        'HOST': '<server_name>.database.windows.net',
        'PORT': '1433',
        'USER': '<username>@<server_name>',
        'PASSWORD': '<password>',
        'OPTIONS': {
            'driver': 'ODBC Driver 17 for SQL Server',
        },
    },
}

其中,<database_name> 为数据库名称,<server_name> 为服务器名称,<username> 为登录用户名,<password> 为登录密码。'OPTIONS' 参数中指定了 PyODBC 驱动程序的名称,这里使用的是 ODBC Driver 17 for SQL Server。如果使用其他版本的驱动程序,可以相应地修改。此外,还可以在 'OPTIONS' 参数中指定其他 PyODBC 驱动程序的选项,例如设置连接超时时间。

需要注意的是,在使用 SQL Server 数据库时,还需要安装相应的数据库驱动程序,例如 PyODBC。可以通过 pip 命令进行安装:

pip install pyodbc
安装完成后,在操作系统中配置 ODBC 数据源,以便在 Django 中使用。可以使用 ODBC 数据源管理员来配置,例如 Windows 系统中的 "ODBC 数据源 (64 位)"。

配置完成后,可以在 Django 中使用 'ENGINE': 'django.db.backends.sql_server' 来指定使用 PyODBC 驱动程序连接 SQL Server 数据库。