データベース設定
初期の状態ではsqlite
Djangoでデータベース設定をする際はmysite/settings.pyで設定します。
mysqlを使用する場合は以下のように設定します。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '<DB名>',
'USER': '<ユーザ名>',
'PASSWORD': '<パスワード>',
'HOST': '<サーバ名>',
'PORT': '3306',
}
}
Djangoでmysqlを利用するためにはモジュールmysqlclientが必要になりますのでインストールします。
pip install mysqlclient
上記の設定が完了したら以下のコードを実行します。
python manage.py migrate
これで初期データベスが作成されます。
Django + mysqlでutf8mb4を使う
絵文字とかを入力/出力で利用するためにはmysqlのcharsetをutf8mb4にするだけでは入力/出力時にエラーが発生します。
Django側にも一つ以下の設定が必要となります。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '<DB名>',
'USER': '<ユーザ名>',
'PASSWORD': '<パスワード>',
'HOST': '<サーバ名>',
'PORT': '3306',
'OPTIONS': {
'charset': 'utf8mb4', #OPTIONSを追加する
},
}
}

DjangoでModelの作成Modelの作成
Djangoは最近の主流であるコードファーストでDB(テーブル)を作成します。
polls/models.py
...