1.

djangoにおけるMySQL/MariaDBへの接続

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

前提

・MySQLのインストール

・データベースおよびユーザーの作成

※上記の設定がまだの方はこちらを参照して下さい。

 

パッケージのインストール

pip install pymysql

pip install mysqlclient

 

setting.pyの設定

djangoの設定ファイルであるsettings.pyDATABASESでデータベースの接続設定ができます。

settings.py

import pymysql

pymysql.install_as_MySQLdb()

 

...

 

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql',

        'NAME': 'db_name',  # DB名

        'USER': 'user',  # DBユーザー名

        'PASSWORD': 'pass',  # パスワード

        'HOST': 'localhost',  # ホスト名

        'PORT': '3306',  # ポート

        'OPTIONS': {

                'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",

                },    

        }
}

ENGINEではデータベースの種類を選択します。

SQLite:'django.db.backends.sqlite3'

 

OPTIONSで指定したSTRICT_TRANS_TABLESとはDBのレコード挿入時にエラーが発生した場合ステートメントを停止する設定です。

この設定をしないとdjangoのマイグレーション実行時に警告が出ます。

 

wsgi.pyの設定

manage.pyと同じ記述を追加しましょう。

※wsgiで動かす環境ではこちらの設定ファイルを参照するため。

 

DBシェルの起動(対話モード)

以下のコマンドを実行することでMySQLに対話モードで接続することが出来ます。

python manage.py dbshell

 

子ページ
子ページはありません
同階層のページ
  1. MySQL/MariaDBへの接続
  2. sqliteへの接続
  3. SELECT, INSERT, UPDATE, DELETE
  4. 素のSQLを直接実行する方法
  5. Order by DESCの指定方法
  6. limit, offsetの指定方法
  7. filterの検索オプション
  8. django-filterのlookup_expr検索オプション
  9. モデルの内部結合(1対1)

最近の質問

コメント一覧

コメントがありません

ログインしなければコメント投稿はできません。