本文摘自php中文网,作者不言,侵删。
本篇文章给大家带来的内容是关于Django中怎么更改默认数据库为mysql(详细过程),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
Django中默认使用sqlite3数据库,今天研究了下如何将它换成常见的mysql数据库。
由于项目用得python3,而MySQLdb没有支持python3的版本,如果使用python3.x版本时,pip install MySQLdb时会报错。
后来通过谷歌发现可以使用pymysql替代MySQLdb
1 在项目根目录下的__init__.py文件中加入如下代码:
1 2 | import pymysql
pymysql.install_as_MySQLdb()
|
2 使用mysqlclient代替MySQLdb,安装方式为:
3 更改项目setting.py中对数据库的配置为:
1 2 3 4 5 6 7 8 9 10 | DATABASES = {
'default' : {
'ENGINE' : 'django.db.backends.mysql' ,
'NAME' : 'test' ,
'USER' : 'username' ,
'PASSWORD' : 'passwd' ,
'HOST' : 'localhost' ,
'PORT' : '3306'
}
}
|
4 最后通过python manage.py migrate命令,Django会在数据库中自动创建相应的表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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 在创建admin用户时,遇到了如下报错
1 2 | 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(详细过程)的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python可以写病毒吗
Python怎么删除
Python return用法是什么
unity3d能用Python写吗
Python能做什么?
Python有什么简单项目适合初学者?
Python中join是什么意思
安装完Python怎么打开
Python 文件字符串转列表时遇空行的解决办法!
Python中swapcase是什么意思
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » Django中怎么更改默认数据库为mysql(详细过程)