HOWTO · Django

Django を MySQL データベースに接続する

Django を MySQL データベースに接続する方法を学ぶ

このページの内容

データベースを操作する場合、リストには多くのオプションがあります。MySQL、PostgreSQL、SQL Server、SQLite、MariaDB などのリレーショナルデータベースまたは SQL データベースと、MongoDB や RedisCouchbase などの非リレーショナルデータベースまたは非 SQL データベースから選択できます。

Django は本格的な堅牢な Web フレームワークであるため、ほぼすべてのデータベースと互換性があります。私たちの側で追加の作業を行う必要があるかもしれませんし、特定のデータベース用のプラグインやアプリケーションを使用する必要があるかもしれませんが、Django の公式は PostgreSQL、MariaDB、MySQL、Oracle、SQLite をサポートしています。

この記事では、MySQL を Django に接続する方法について説明します。

MySQL を Django に接続するための初期設定

接続設定を続行する前に、システムに MySQL がセットアップされていることを確認してください。接続するアカウントが作成され、データベースが作成されていることを確認してください。

さらに、Python(3.X バージョン)を使用してデータベースと対話するには、MySQL クライアントも必要になります。

MySQL クライアントは、次の pip コマンドを使用してダウンロードできます。

pip install mysqlclient

または、

pip3 install mysqlclient

DjangoMySQL 接続設定

Django は、デフォルトで SQLite データベースを使用します。同じの接続設定は次のようになります。

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

Django を MySQL データベースに接続するには、次の設定を使用する必要があります。

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.mysql",
        "NAME": "databaseName",
        "USER": "databaseUser",
        "PASSWORD": "databasePassword",
        "HOST": "localhost",
        "PORT": "portNumber",
    }
}

MySQL データベースの ENGINE キーはさまざまです。それとは別に、USER、PASSWORD、HOST、PORT などのいくつかの追加キーがあります。

NAME このキーは、MySQL データベースの名前を格納します。
USER このキーには、MySQL データベースの接続に使用する MySQL アカウントのユーザー名が格納されます。
PASSWORD このキーには、その MySQL アカウントのパスワードが格納されます。
HOST このキーは、MySQL データベースがホストされている IP アドレスを格納します。
PORT このキーは、MySQL データベースがホストされているポート番号を格納します。

最後に、python manage.py makemigrations と python manage.py migrate を使用して必要な移行を行い、セットアップを完了します。