【第一次使用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を設定する方法

广告
将在 10 秒后关闭
bannerAds