ホームページ  >  記事  >  バックエンド開発  >  Django でデフォルトのデータベースを mysql に変更する方法 (詳細なプロセス)

Django でデフォルトのデータベースを mysql に変更する方法 (詳細なプロセス)

不言
不言転載
2018-12-04 17:24:283392ブラウズ

この記事の内容は、Django でデフォルトのデータベースを mysql に変更する方法 (詳細な手順) に関するもので、一定の参考価値があります。必要な友人は参考にしていただければ幸いです。

Django はデフォルトで sqlite3 データベースを使用しますが、今日はこれを一般的な mysql データベースに置き換える方法を検討しました。

プロジェクトでは python3 が使用されており、MySQLdb には python3 をサポートするバージョンがないため、python3.x バージョンを使用すると、pip install MySQLdb 時にエラーが報告されます。

後で Google を通じて、MySQLdb の代わりに pymysql を使用できることがわかりました。

1 次のコードをプロジェクトのルート ディレクトリの __init__.py ファイルに追加します。

import pymysql
pymysql.install_as_MySQLdb()

2 MySQLdb の代わりに mysqlclient を使用します。インストール方法は次のとおりです:

pip install mysqlclient

3 プロジェクトの settings.py のデータベース構成を次のように変更します:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',
        'USER': 'username',
        'PASSWORD': 'passwd',
        'HOST': 'localhost',
        'PORT': '3306'
    }
}

4 最後に、 python manage.py merge コマンドを使用して、 Django はデータベースに対応する構成を自動的に作成します。 Table

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, polls, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying polls.0001_initial... OK
  Applying sessions.0001_initial... OK

5 管理者ユーザーを作成するときに、次のエラーが発生しました。

python manage.py createsuperuser
Superuser creation skipped due to not running in a TTY. You can run `manage.py createsuperuser` in your project to create one manually.

後で確認したところ、これは git を使用したためであることがわかりました。コマンドを実行してWindows付属のコマンドラインに切り替えるとこの問題は解決します!

以上がDjango でデフォルトのデータベースを mysql に変更する方法 (詳細なプロセス)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。