加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

Django操作mysql數(shù)據(jù)庫(kù)(一)

07/01 15:23
546
閱讀需 5 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

Django連接數(shù)據(jù)庫(kù)

Django的setting文件中,找到數(shù)據(jù)庫(kù)連接,修改成mysql:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'djangostudy',
        'USER': 'root',
        'PASSWORD': 'yeqinfang',
        'HOST': '192.168.31.101',
        'PORT': '3306',
    }
}

執(zhí)行遷移

python manage.py makemigrations
python manage.py  migrate

在這里插入圖片描述

pycharm直接報(bào)錯(cuò),說明我們沒有安裝mysql的操作模塊,安裝如下:

在這里插入圖片描述

然后引入mysql模塊:

在這里插入圖片描述

再次運(yùn)行,報(bào)錯(cuò):

在這里插入圖片描述

他要求客戶端版本較高,查看官方文檔:https://pypi.org/project/mysqlclient/

并按照文檔操作:

pip install mysqlclient

在這里插入圖片描述發(fā)現(xiàn)還是一樣報(bào)錯(cuò),需要更換客戶端,并再次執(zhí)行:
在這里插入圖片描述在這里插入圖片描述

如上,執(zhí)行成功。原因是django3.0不支持pymysql,而MySQLDB又不支持python3,所以官方推薦安裝mysqlclient(MySQLdb分支)來引用MySQLdb,而不是直接安裝MySQLdb,使用方法應(yīng)該跟MySQLdb一樣。

在這里插入圖片描述

pycharm連接數(shù)據(jù)庫(kù)

在這里插入圖片描述在這里插入圖片描述在這里插入圖片描述

安裝驅(qū)動(dòng)文件之后(下方的感嘆號(hào),點(diǎn)擊一下download),報(bào)如下錯(cuò)誤:

Server returns invalid timezone. Need to set ‘serverTimezone’ property.

很顯然,它提示時(shí)區(qū)不對(duì),那我就去設(shè)置一下服務(wù)器時(shí)區(qū)。

(1)查看時(shí)區(qū)指令:

show variables like'%time_zone'; 

如圖,system就是沒設(shè)置時(shí)區(qū)。

在這里插入圖片描述

(2)設(shè)置時(shí)區(qū)

set global time_zone = '+8:00'; 

(3)重新連接

在這里插入圖片描述

操作數(shù)據(jù)庫(kù)

創(chuàng)建應(yīng)用:

在這里插入圖片描述

那么,我們現(xiàn)在開始碼代碼吧!

(1)創(chuàng)建一張表

class loginUser(models.Model):
	loginname = models.CharField(max_length=20, null=False, unique=True)
    nickname = models.CharField(max_length=20, null=False, unique=False)
    sex = models.BooleanField(default=True)

(2)執(zhí)行遷移

python manage.py makemigrations
python manage.py  migrate

在這里插入圖片描述

直接報(bào)錯(cuò),原因是應(yīng)用沒有注冊(cè)。

(3)注冊(cè)應(yīng)用

在這里插入圖片描述

(4)再次執(zhí)行遷移

在這里插入圖片描述

再次執(zhí)行成功了,但是沒有表生成。為了查明什么原因,我決定去數(shù)據(jù)庫(kù)查看:

在這里插入圖片描述

有表生成!說明遷移成功,數(shù)據(jù)庫(kù)生成了表,只是沒顯示在pycharm里。這是為什么呢?

(5)真相了!

pycharm連接數(shù)據(jù)庫(kù)后不能查看表,此時(shí),需要手動(dòng)選擇數(shù)據(jù)庫(kù)

在這里插入圖片描述

效果展示:

在這里插入圖片描述

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
TJA1055T/1J 1 NXP Semiconductors TJA1055 - Enhanced fault-tolerant CAN transceiver SOIC 14-Pin
$1.72 查看
R38-32.768-12.5 1 Raltron Electronics Corporation Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, HALOGEN FREE, ROHS AND REACH COMPLIANT PACKAGE-2
$0.06 查看
SN74LV244APWG4 1 Texas Instruments Eight-channel 2-V to 5.5-V buffers with tri-state outputs 20-TSSOP -40 to 125

ECAD模型

下載ECAD模型
暫無數(shù)據(jù) 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜