Python

Django入門(1)、まずは設定から

Django入門(1)、まずは設定から

Django入門(1)ということで、まずは設定から始める。
以下を参考に進めながら引っかかったところについて書いておく。

Qiita:Django入門にはDjango Girls Tutorialがおすすめ

Djangoのチュートリアルをいろいろ探してみた結果、「Django Girls Tutorial」がとても良心的に感じました。Web開発の経験がない人でも一人で進められるのではと思うほどの丁寧さでした。

Django Girls Tutorial


環境作成

Anacondaを使うのであれば
Environments -> Create
で環境作成して、必要なものをpipでインストールすれば良い。

以降ターミナル(というかコマンドプロンプト)を起動する際は、Djangoの環境の「▶」から
open terminal
をクリックすればターミナルが開く。


DB設定

migrateでテーブル作成されるので、アプリ用のユーザーを作成し、アプリが使うスキーマに対して権限を与え、参照するだけのスキーマにはselect権限のみ付与する。

MySQL Workbenchを使う場合は
Navigator(左サイドバー)-> Users and Privileges
でユーザー作成画面を開き、
add account
でユーザー作成。
Schema Privileges
から権限設定。


settings

Djangoのプロジェクトを作成後、MySQLを利用する為にsettings.pyを編集する。

まずデフォルトは以下のようにsqlite3を使う設定になっている。

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

これを以下のように修正する。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '(接続するスキーマ名)',
        'USER': '(接続するユーザー名)',
        'PASSWORD': '(接続するユーザーのパスワード',
        'HOST': '(DBのホスト。IPアドレスかドメイン)',
        'PORT': '',
        'OPTIONS': {
            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
        }
    }
}


MySQL clientの設定

そのまま
python manage.py migrate
を実行すると

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?

のエラーが出てしまう。

MySQL clientが必要なので
pip install PyMySQL
でPyMySQLをインストールする。
さらにmanage.pyに以下を追記することでMySQLdb moduleを有効化する。

import pymysql
pymysql.install_as_MySQLdb()


KRSW

駆け出し機械学習エンジニア。機械学習、DB、WEBと浅く広い感じ。 Junior machine learning engineer. Not a specialist but a generalist who knows DB, WEB too.

役に立ったらシェアしてくれると励みになります。
If you felt this article is useful, please share.
にほんブログ村 IT技術ブログへ

-Python
-, , ,

Translate »
Social media & sharing icons powered by UltimatelySocial

Copyright© ITips , 2020 All Rights Reserved.