失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Pycharm中的Django项目连接mysql数据库(包含出现的错误)

Pycharm中的Django项目连接mysql数据库(包含出现的错误)

时间:2022-05-30 03:52:28

相关推荐

Pycharm中的Django项目连接mysql数据库(包含出现的错误)

配置Django连接到mysql

1.models.py写一个类,继承models.Model

class Book(models.Model):name=models.CharField(max_length=20)price=models.IntegerField()pub_date=models.DateField()

2.修改settings.py文件

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', 'NAME': 'books', #你的数据库名称'USER': 'root', #你的数据库用户名'PASSWORD': '', #你的数据库密码'HOST': '', #你的数据库主机,留空默认为localhost'PORT': '3306', #你的数据库端口}}

3.修改项目文件夹下的__init__.py文件

没有安装pymsql(python3)的请在pycharm自行安装,安装后添加以下内容

import pymysqlpymysql.install_as_MySQLdb()

4.数据库迁移

由于Django默认使用的数据库为SQLlite,但现在重新配置了MySQL数据库,因此需要将原来的数据迁移过来。

配置好上面的信息后,执行数据迁移,然后重启服务,就可以继续开发你的系统

[root@localhost Django_ORM]# python manage.py makemigrations[root@localhost Django_ORM]# python manage.py migrate

在此处可能遇到的问题:

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None

MySQLclient目前只支持到python3.4,因此如果使用的更高版本的python,可以修改下面路径的文件(即python的安装路径):

C:\Users\dell\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\django\db\backends\base\base.py

将下面的文件注释掉即可:

ifversion < (1, 3, 3):raiseImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s"% Database.__version__)

如果还是出现类似错误,我当时是查看了一下pymysql的版本,发现有点低,就将pymysql卸载后又安装了一遍即:

卸载是在pycharm的setting中(点击-即可卸载)

安装代码如下所示:

pip3 install pymysql

如果出现下面这种错误

site-packages/pymysql/cursors.py:166: Warning: (3135, "'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO'sql modes should be used with strict mode. They will be merged with strict mode in a future release.")result = self._query(query)site-packages/pymysql/cursors.py:166: Warning: (3090, "Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release.")result = self._query(query)

只需要修改django中的配置文件settings.py文件,将数据库的配置里设置SQL_MODES的地方注释掉即可。

5.数据库的配置连接

最后输入帐号密码登陆

如果觉得《Pycharm中的Django项目连接mysql数据库(包含出现的错误)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。