【第一次使用Django】mysqlclient是什么?解决创建Django应用程序时遇到的3个错误的方法!
简要概括
-
- 先日Djangoチュートリアルを参考にインストールしたので、早速、会社のプログラムをローカル環境で触ることに。
Djangoのインストール手順を記載した記事はこちら:【初めてのDjango】インストール手順:MVTモデル、ルーティング、DBマイグレーション、views.py、テンプレート、名前空間について
実際にDjango Appの作成〜DBマイグレーションをするにあたって遭遇したエラーを記しておく。
环境
-
- Mac
機種ID:MacBookPro18,3
macOS:Monterey
チップ:Apple M1 Pro
メモリ:16GB
Django:Version 4.1.3
Python:Version 3.10.9
发生错误并解决的内容有三项。
①ModuleNotFoundError: No module named ‘widget_tweaks’
pip3 install django-widget-tweaksで解決
参考:ModuleNotFoundError: No module named ‘widget_tweaks’
②cannot import name ‘url’ from ‘django.conf.urls’
Django4 にバージョンアップされた際に url 関数が削除されているとのこと
urlをpathに変更したらエラーが消え解決しました
参考:【Django】cannot import name ‘url’ from ‘django.conf.urls’ エラーの原因と対処法
③django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?
pip install mysqlclientを実施して解決
参考:データベースの接続設定 – MySQL
mysqlclient是什么?这是Django推荐使用的驱动程序。
mysqlclientとは、MySQL(MariaDB)に接続するためのPythonライブラリ。
PythonがMySQLに接続するためにはドライバをインストールする必要があり、mysqlclientはそのうちの一つ。他にもいくつかあるが、現在Djangoがrecommendしているのはmysqlclient。
PyMySQL:ピュアなPython製のMySQLクライアントドライバ。
mysql-connector-python:MySQL開発元のOracle社が公式ライブラリとして配布しているドライバ。
MySQL-Python:python3に未対応。比較的初期から存在しており、以前はよく使われていたらしいドライバ。
mysqlclient:MySQL-Pythonをpython3に対応させた、Djangoの推奨ドライバ。モジュールの一つなので、pipを利用してインストール可能。
参考文献:Pythonのドライバがいくつもある件
ちなみに、djangoでマイグレートする場合はsettings.pyを編集する必要があります。中身は以下の通り。
ENGINE:DBの種類
NAME:DB名
USER:DBにアクセスするユーザー名
PASSWORD:DBにアクセスするユーザーのパスワード。未設定の場合は、ブランクにする
HOST:DBのホスト名。明示的に設定する場合に記述する
PORT:DBのホストのポート番号。明示的に設定する場合に記述する
参考文献:【Django】MySQLを設定する方法