之前我们已经用sqlite建立了第一个web app.今天来学习如何在django中使用MySQL。
首先需要安装MySQL,到官网下载安装包:https://dev.mysql.com/downloads/installer/
安装完成后,我们想要在django中使用MySQL,还需要在web app所在环境下安装mysqlclient,打开anaconda prompt,输入:
activate my_env
然后使用pip安装,也可用其他安装方法(官方链接:https://pypi.org/project/mysqlclient/):
pip install mysqlclient
安装成功后,我们打开MySQL command line client,提示输入密码,这里我们输入MySQL设置时输入的密码就能进入mysql(如果输入错误,窗口会直接关闭):
进入成功后显示如下图:
在这里我们用如下命令创建一个MySQL数据库:
CREATE DATABASE <dbname> 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'就是上一步创建的数据库名字<dbname>,’password‘是你安装MySQL时设置的密码,我这里设置的为root,其他的可以保持一样。值得注意的是mydb本身是一个文件夹,不像sqlite是一个文件。
settings.py修改完成后,我们打开命令窗口,执行makemigrations和migrate,就可以了。不过现在数据库还是空的,我们可以将之前的sqlite数据库的内容导入到MySQL中,也可以自己重新创建用户,重新录入数据。