Django中怎么更改默认数据库为mysql(详细过程)

不言
Lepaskan: 2018-12-04 17:24:28
ke hadapan
3447 orang telah melayarinya

本篇文章给大家带来的内容是关于Django中怎么更改默认数据库为mysql(详细过程),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

Django中默认使用sqlite3数据库,今天研究了下如何将它换成常见的mysql数据库。

由于项目用得python3,而MySQLdb没有支持python3的版本,如果使用python3.x版本时,pip install MySQLdb时会报错。

后来通过谷歌发现可以使用pymysql替代MySQLdb

1  在项目根目录下的__init__.py文件中加入如下代码:

import pymysql
pymysql.install_as_MySQLdb()
Salin selepas log masuk

2  使用mysqlclient代替MySQLdb,安装方式为:

pip install mysqlclient
Salin selepas log masuk

3  更改项目setting.py中对数据库的配置为:

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

4  最后通过python manage.py migrate命令,Django会在数据库中自动创建相应的表

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
Salin selepas log masuk

5  在创建admin用户时,遇到了如下报错

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.
Salin selepas log masuk

后来查了一下,是因为使用了git来执行命令,切换到Windows自带的命令行,可以解决该问题!

Atas ialah kandungan terperinci Django中怎么更改默认数据库为mysql(详细过程). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:segmentfault.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan