django mysql安装及相关说明

来源:互联网 发布:dlp mac 编辑:程序博客网 时间:2024/06/08 17:22
1.驱动安装


如果使用的Python2.x 版本,那么连接MySQL 数据库可以使用MySQL-python。(可以直接下载.exe文件安装使用


如果使用的系统是Win 64 位,还要单独查找64 位版本(mysql-python-1.2.5.win-amd64-py2.7.exe)

下载地址:https://pypi.python.org/pypi/MySQL-python


若使用的是Python3.x 版本,所以需要使用PyMySQL驱动。通过pip 命令进行安装:(pip install PyMySQL

下载地址:https://pypi.python.org/pypi/PyMySQL


说明:django配置MYSQL时,应提前创建在setting中配置的数据库。


2.setting设置


setting中设置内容如下:
DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'HOST': '127.0.0.1',
    'PORT': '3306',
    'NAME': 'myweb',
    'USER': 'root',
    'PASSWORD': '123456',
    }
}



3.数据库生成,同步


因为现在切换了数据库,之前在sqlite3 下的创建的表,需要在重新在mysql 数据库下生成。
执行
1.D:\pydj\myweb>python manage.py makemigrations blog(blog为数据库名)
2.D:\pydj\myweb>python manage.py migrate(同步)


说明:


执行命令2可能若报错
File "C:\Python35\lib\site-packages\django\db\backends\mysql\base.py", line 28,
in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No
module named 'MySQLdb'

原因:
这是因为django 的在生成数据库表的时候使用的还是MySQLdb,而它并不支持Python3,而我们现在又
安装的是PyMySQL,如何让Django 认PyMySQL 呢,方法很简单。

解决方案:
在/myweb/myweb/__init__.py 目录下添加:
import pymysql
pymysql.install_as_MySQLdb()


然后再执行migrate (即:D:\pydj\myweb>python manage.py migrate)命令就可以了。




注意:切换了数据库后,之前数据库里的数据就没有了,需要我们重新通过admin 后台去添加数据。

0 0