Python Django切換MySQL數(shù)據(jù)庫實(shí)例詳解
準(zhǔn)備
軟件 | 版本 |
---|---|
Django | 2.1.3 |
Python | 3.7.1 |
默認(rèn)使用的是sqlite3
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
切換為MySql:
# settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'book', 'USER': 'root', 'PASSWORD': '123456', 'HOST': '127.0.0.1', 'POST': '3306', } }
實(shí)現(xiàn)步驟
我們使用Django 來操作MySQL,實(shí)際上底層還是通過Python來操作的。因此我們想要用Django來操作MySQL,首先還是需要安裝一個(gè)驅(qū)動(dòng)程序。在Python3中,驅(qū)動(dòng)程序有多種選擇。比如有pymysql以及mysqlclient等。
常見的Mysql驅(qū)動(dòng)介紹:
- MySQL-python:也就是MySQLdb。是對(duì)C語言操作MySQL數(shù)據(jù)庫的一個(gè)簡單封裝。遵循了Python DB API v2。但是只支持Python2,目前還不支持Python3。
- mysqlclient:是MySQL-python的另外一個(gè)分支。支持Python3并且修復(fù)了一些bug。
- pymysql:純Python實(shí)現(xiàn)的一個(gè)驅(qū)動(dòng)。因?yàn)槭羌働ython編寫的,因此執(zhí)行效率不如MySQL-python。并且也因?yàn)槭羌働ython編寫的,因此可以和Python代碼無縫銜接。
- MySQL Connector/Python:MySQL官方推出的使用純Python連接MySQL的驅(qū)動(dòng)。因?yàn)槭羌働ython開發(fā)的。效率不高。
mysqlclient安裝
基于目前的環(huán)境以及版本來說,直接運(yùn)行 pip install mysqlclient 是會(huì)報(bào)錯(cuò)的,具體錯(cuò)誤,自己執(zhí)行以下就知道了。
解決辦法:
去 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 下載指定文件,我用的是python3.7,win環(huán)境是64位,所以下載了mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl。
然后執(zhí)行:
pip3 install mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl
如果出現(xiàn)以下說明安裝成功:
Installing collected packages: mysqlclient Successfully installed mysqlclient-1.3.13
遷移數(shù)據(jù)庫
Django中通過以下命令來遷移數(shù)據(jù)庫,在每次創(chuàng)建Model時(shí),執(zhí)行該命令,在數(shù)據(jù)庫中生成對(duì)應(yīng)的表:
python manage.py makemigrations python manage.py migrate
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
pandas去重復(fù)行并分類匯總的實(shí)現(xiàn)方法
這篇文章主要介紹了pandas去重復(fù)行并分類匯總的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01TensorFlow索引與切片的實(shí)現(xiàn)方法
這篇文章主要介紹了TensorFlow索引與切片的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11python實(shí)現(xiàn)從尾到頭打印單鏈表操作示例
這篇文章主要介紹了python實(shí)現(xiàn)從尾到頭打印單鏈表操作,結(jié)合實(shí)例形式分析了Python單鏈表的定義、判斷、添加、打印等相關(guān)操作技巧,需要的朋友可以參考下2020-02-02Python鼠標(biāo)事件及坐標(biāo)獲取窗口和屏幕坐標(biāo)
這篇文章主要介紹了Python編程中如何通過鼠標(biāo)事件及坐標(biāo)獲取窗口坐標(biāo)和屏幕坐標(biāo)的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10linux中使用Python對(duì)圖片進(jìn)行批量命名
大家好,本篇文章主要講的是linux中使用Python對(duì)圖片進(jìn)行批量命名,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12使用Keras構(gòu)造簡單的CNN網(wǎng)絡(luò)實(shí)例
這篇文章主要介紹了使用Keras構(gòu)造簡單的CNN網(wǎng)絡(luò)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06python 多個(gè)參數(shù)不為空校驗(yàn)方法
今天小編就為大家分享一篇python 多個(gè)參數(shù)不為空校驗(yàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02