之前我們已經用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中,也可以自己重新創建用戶,重新錄入數據。