Django中更改默认数据库为mysql的方法示例
作者:飘在云层的念想 时间:2024-01-23 03:19:56
Django中默认使用sqlite3数据库,今天研究了下如何将它换成常见的mysql数据库。
由于项目用得python3,而MySQLdb没有支持python3的版本,如果使用python3.x版本时,pip install MySQLdb时会报错。
后来通过谷歌发现可以使用pymysql替代MySQLdb
1 在项目根目录下的__init__.py文件中加入如下代码:
import pymysql
pymysql.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, 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用户时,遇到了如下报错
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自带的命令行,可以解决该问题!
来源:https://segmentfault.com/a/1190000017252348
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python数据可视化Pyecharts库的使用教程
![](https://img.aspxhome.com/file/2023/0/101320_0s.png)
SQL Data Services将成为云中完整的数据库
在Pycharm中执行scrapy命令的方法
![](https://img.aspxhome.com/file/2023/3/66783_0s.jpg)
Python如何在循环内使用list.remove()
Python模拟FTP文件服务器的操作方法
python subprocess 杀掉全部派生的子进程方法
老生常谈Python之装饰器、迭代器和生成器
Python subprocess模块详细解读
![](https://img.aspxhome.com/file/2023/4/63574_0s.png)
pytorch制作自己的LMDB数据操作示例
Python3 使用pip安装git并获取Yahoo金融数据的操作
![](https://img.aspxhome.com/file/2023/1/63941_0s.jpg)
python fire库的使用实例教程
![](https://img.aspxhome.com/file/2023/0/61760_0s.png)
jmeter正则表达式的使用
![](https://img.aspxhome.com/file/2023/2/86872_0s.png)
Python 的描述符 descriptor详解
python实现智能语音天气预报
![](https://img.aspxhome.com/file/2023/2/78532_0s.jpg)
python检测文件夹变化,并拷贝有更新的文件到对应目录的方法
Vue源码之关于vm.$delete()/Vue.use()内部原理详解
![](https://img.aspxhome.com/file/2023/7/139787_0s.jpg)
python 如何调用远程接口
对mysql表进行优化、分析、检查和修复的说明
python用正则表达式提取/匹配中文汉字
![](https://img.aspxhome.com/file/2023/3/99303_0s.jpg)