之前我们已经用sqlite建立了第一个web app.今天来学习如何在django中使用MySQL。
安装完成后,我们想要在django中使用MySQL,还需要在web app所在环境下安装mysqlclient,打开anaconda prompt,输入:
activate my_env
pip install mysqlclient
安装成功后,我们打开MySQL command line client,提示输入密码,这里我们输入MySQL设置时输入的密码就能进入mysql(如果输入错误,窗口会直接关闭):
进入成功后显示如下图:
在这里我们用如下命令创建一个MySQL数据库:
CREATE DATABASE CHARACTER SET utf8;
不要忘记后面的分号,按回车键确定,数据库会在你的MySQL安装目录下生成。我们可以将该数据库拷贝到我们的web app文件夹下。以我创建的web app为例,就是将其放入和manage.py同一文件夹下。然后我们打开settings.py来设置,修改database如下:
DATABASES ={'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'mydb','USER': 'root','PASSWORD': 'root','HOST': 'localhost','PORT':'3306',
}
这里‘mydb'就是上一步创建的数据库名字,’password‘是你安装MySQL时设置的密码,我这里设置的为root,其他的可以保持一样。值得注意的是mydb本身是一个文件夹,不像sqlite是一个文件。
settings.py修改完成后,我们打开命令窗口,执行makemigrations和migrate,就可以了。不过现在数据库还是空的,我们可以将之前的sqlite数据库的内容导入到MySQL中,也可以自己重新创建用户,重新录入数据。