首先說明一下,Django2.0以上版本不支持Mysql5.7以下版本,Python3.4以上版本不支持mysqldb,如何在這種環境下通過Django操作mysql數據庫那?
1.安裝MySQL5.7以上版本
安裝Mysql5.7以上版本請看我的上一篇博客,里面講得很清楚,Django2.0以上版本和Python3.6以上版本的安裝請自行查找相關學習資料,在此容我不能一一贅述,請見諒。
2.配置相關環境變量
查找本地python解釋器安裝目錄,將其添加到path系統變量中,例如:D:\Programs\Python\Python36-32;D:\Programs\Python\Python36-32\Scripts
D:\Programs\Python\Python36-32;是設置python為系統變量,D:\Programs\Python\Python36-32\Scripts是設置python工具包為系統變量,因為我們安裝很多包都需要使用pip命令。
3.解決pip命令問題
為解決pip安裝太慢可以從清華的服務器中直接下載鏡像文件,命令:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包的名字,如果出現pip不是內部命令,要么是你的系統環境配置錯誤,要么就請更新你的pip版本,命令:pip install --upgrade pip,之后打開新的命令窗口(管理員),防止以上命令未能生效。
4.安裝pymysql
解決python3.4以上版本不支持mysqldb的問題,不需要安裝mysqlclient,mysqlclient目前只支持python3.4以下版本
按照第三步的方法安裝pymysql,更改Django項目中的配置文件settings.py:
將原來的數據庫sqlite3注釋掉就可以了。
這里請注意,在使用mysql時,mysql中必須存在相關的數據庫表,否則連接失敗,即在連接mysql時先創建數據庫,如何創建請參考我的上一篇博客的末尾(https://www.cnblogs.com/dugudaren/p/9777799.html)。接着在Django項目文件中找到__init__.py,一定是項目文件不是app文件,添加:
import pymysql
pymysql.install_as_MySQLdb()
之后操作數據庫創建表操作跟Django自帶的sqlite3數據庫一樣,完成數據遷移,並執行,在terminal中輸入:
python manage.py makemigrations 完成數據遷移
python manage.py migrate 執行
目前正在學習當中,有錯誤的地方請各位大神多多包涵!