ホーム >  Python > Django >  【Windows7】DjangoからMariaDBに接続するには?【PyCharm】

投稿日:   |  最終更新日:

【Windows7】DjangoからMariaDBに接続するには?【PyCharm】

DjangoPyCharmPython統合開発環境

PycharmにDjangoとMariaDBの準備を行いました。DjangoからMariaDBに接続するためのmysqlclientをインストールしたので接続します。

DjangoとMariaDB

前回、DjangoとMariaDBを接続するためにmysqlclientモジュールをインストールしました。DjangoのデフォルトのDBはSQLLite3ですが、一歩先へすすんでMariaDBを扱ったDjango体制にしたいと思います。

必要なもの

必要なものはWindowsあるいはMacPCのみです。Python3.7とPyCharm(無料版)がインストール済みであることが前提です。

Windows7にPyCharmをインストールします。

【Windows7】Pythonの統合開発環境PyCharmをインストールしてDjango開発【無料版】

PyCharmを日本語化します。

Pycharmを日本語化!旧バージョン(Windows7)でもできる?

Windows7にMariaDBをインストールします。

Windows7にMariaDBをインストール

PyCharmのコンソールからMariaDBにコネクトします。

【Pycharm】PythonからMariaDBにコネクトする【mysql-connector-python】

DjangoとMariaDBを接続するmysqlclientをインストールします。

【Windows7】mysqlclientをインストールできないときは【PyCharm】

環境

PC 32bit版のMicrosoft Windows 7(SP1) ※64bit版のWindows8、10でもOK。
Python 3.7.6
pip 20.0.2
Pycharm 2018.3.7
MariaDB 10.1
Django 3.0.3
mysqlclient 1.4.6

データベース作成

①MySQLClient(MariaDB10.1)を起動します。

②MariaDBインストール時に設定したrootユーザーのパスワードを入力します。

③データベースを作成します。名前は自由ですが、ここでは「test_Django」というDBを作ります。

create database test_django;

データベースが作成できたか以下のコマンドで確認します。

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test_django        |
+--------------------+
4 rows in set (0.10 sec)

Djangoに接続設定

①PyCharmを起動します。Djnaoプロジェクト内の「settings.py」を開きます。

  • C:\Users\ユーザ名\PycharmProjects/
  • mysite/
  • mysite/
  • settings.py/
  • db.sqlite3/
  • manage.py/

②「DATABASES = {」の行を以下のように編集します。

<変更前>

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

<変更跡>

DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test_django',
        'USER': 'root',
        'PASSWORD': 'ルートのパスワード',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

③この状態でDjangoが起動できるか確認します。簡易サーバーを起動するので、ターミナルから以下のコマンドを入力してください。

コマンド

cd C:\Users\ユーザ名\PycharmProjects\mysite\mysite
python manage.py runserver

ブラウザで「http://127.0.0.1:8000/」以下の画面が表示されれば成功です。

Djangoのデータベース初期化

①データベースを初期化するため以下のコマンドを実行します。実行するとSQL文が発行され、データベース「app1_db」に管理用テーブルが生成されます。

(venv) C:\Users\user\PycharmProjects\mysite\mysite>python manage.py migrate

以下のようにDjango管理用のテーブルが作成されます。

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying sessions.0001_initial... OK

②スーパーユーザー(Djangoの管理者)を作ります。以下のコマンドを実行します。

(venv) C:\Users\user\PycharmProjects\mysite\mysite>python manage.py createsuperuser

②ユーザー名、メールアドレス、パスワードを聞かれますので入力してください。

ユーザー名 (leave blank to use 'user'): admin
メールアドレス: yiwasaki@hombre-nuevo.com
Password:
Password (again):
Superuser created successfully.

③Djangoの管理画面が起動できるか確認します。簡易サーバーを起動するので、ターミナルから以下のコマンドを入力してください。

python manage.py runserver

ブラウザで「http://127.0.0.1:8000/admin/」以下の画面が表示されれば成功です。

④ユーザー名、パスワードを入力してログインできることを確認しましょう。

次回

工事中。

トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告