您好,欢迎访问一九零五行业门户网

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

本篇文章给大家带来的内容是关于django中怎么更改默认数据库为mysql(详细过程),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
django中默认使用sqlite3数据库,今天研究了下如何将它换成常见的mysql数据库。
由于项目用得python3,而mysqldb没有支持python3的版本,如果使用python3.x版本时,pip install mysqldb时会报错。
后来通过谷歌发现可以使用pymysql替代mysqldb
1  在项目根目录下的__init__.py文件中加入如下代码:
import pymysqlpymysql.install_as_mysqldb()
2  使用mysqlclient代替mysqldb,安装方式为:
pip install mysqlclient
3  更改项目setting.py中对数据库的配置为:
databases = {    'default': {        'engine': 'django.db.backends.mysql',        'name': 'test',        'user': 'username',        'password': 'passwd',        'host': 'localhost',        'port': '3306'    }}
4  最后通过python manage.py migrate命令,django会在数据库中自动创建相应的表
operations to perform:  apply all migrations: admin, auth, contenttypes, polls, sessionsrunning 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用户时,遇到了如下报错
python manage.py createsuperusersuperuser 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(详细过程)的详细内容。
其它类似信息

推荐信息