使用 Django 連接 MySQL 數據庫

文章目錄

    • 步驟一:安裝必要的庫和驅動
    • 步驟二:配置數據庫連接
    • 步驟三:執行數據庫遷移
    • 步驟四:開始使用 MySQL 數據庫
      • 創建一個模型
      • 遷移模型到數據庫
      • 使用模型進行數據操作
        • 創建新記錄:
        • 查詢記錄:
        • 更新記錄:
        • 刪除記錄:
    • 總結與拓展
      • 總結
      • 拓展

在 Django 中,我們可以使用 MySQL 作為后端數據庫來存儲數據。下面是連接 Django 和 MySQL 數據庫的步驟:
在這里插入圖片描述

步驟一:安裝必要的庫和驅動

首先,確保已經安裝了 Django 和 MySQL 客戶端驅動。可以通過以下命令安裝:

pip install Django mysqlclient

步驟二:配置數據庫連接

在 Django 項目的 settings.py 文件中,找到 DATABASES 配置項,并進行如下配置:

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'your_database_name','USER': 'your_database_user','PASSWORD': 'your_database_password','HOST': 'localhost', # 或者指定數據庫的主機地址'PORT': '3306', # MySQL 默認端口為 3306}
}

請將上述代碼中的 your_database_nameyour_database_useryour_database_password 替換為實際的數據庫名稱、用戶名和密碼。

步驟三:執行數據庫遷移

在配置好數據庫連接后,使用以下命令執行數據庫遷移:

python manage.py makemigrations
python manage.py migrate

這兩個命令將會在 MySQL 數據庫中創建相應的表結構。

步驟四:開始使用 MySQL 數據庫

在 Django 項目中,您可以通過模型(Model)來定義數據結構并與 MySQL 數據庫交互。以下是一些常用的操作示例:

創建一個模型

首先,在 Django 應用的 models.py 文件中定義一個模型類,例如:

from django.db import modelsclass Book(models.Model):title = models.CharField(max_length=100)author = models.CharField(max_length=50)publish_date = models.DateField()

遷移模型到數據庫

運行以下命令將新定義的模型遷移至 MySQL 數據庫:

python manage.py makemigrations your_app_name
python manage.py migrate

確保將 your_app_name 替換為您的應用名稱。

使用模型進行數據操作

現在您可以在 Django 中使用該模型與 MySQL 數據庫進行數據交互。以下是一些示例代碼:

創建新記錄:
book = Book(title='Django for Beginners', author='John Doe', publish_date='2024-05-28')
book.save()
查詢記錄:
books = Book.objects.all()  # 獲取所有書籍記錄
book = Book.objects.get(title='Django for Beginners')  # 根據標題獲取特定記錄
更新記錄:
book = Book.objects.get(title='Django for Beginners')
book.author = 'Jane Smith'
book.save()
刪除記錄:
book = Book.objects.get(title='Django for Beginners')
book.delete()

總結與拓展

通過以上步驟,我們已經學會了如何在 Django 項目中使用 MySQL 數據庫。

總結

  • 通過安裝 mysqlclient 庫并配置 DATABASES 設置,可以讓 Django 項目連接到 MySQL 數據庫。
  • 使用 makemigrationsmigrate 命令可以將模型遷移至 MySQL 數據庫,并進行數據庫表結構的創建和更新。
  • 在模型中定義字段和方法后,可以通過模型類進行數據的增刪改查操作。

拓展

  • 可以進一步學習 MySQL 數據庫的高級特性,如索引、事務、存儲過程等,以優化數據庫性能和擴展功能。
  • 可以探索 Django ORM(對象關系映射)的更多特性,如復雜查詢、關聯模型等,以更加靈活地操作數據庫。
  • 了解 Django 的數據庫遷移機制和版本控制,以便在團隊協作或生產環境中管理數據庫變更。

希望本文能夠幫助您順利地在 Django 項目中使用 MySQL 數據庫,并為您未來的項目開發提供一定的指導和啟發。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/19823.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/19823.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/19823.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Mac安裝第三方軟件的命令安裝方式

場景: 打開終端命令行,sudo xattr -rd com.apple.quarantine,注意最后quarantine 后面加一個空格!然后打開Finder(訪達),點擊左側的 應用程序,找到相關應用,拖進終端qua…

(超實用)京東訂單數據分析案例-維度下鉆

1,數據介紹,字段了解 盡可能熟悉業務,多知道字段的含義,字段字段間的邏輯關系,后期數據分析思路才能更清晰,結果才能更準確 2,訂單數據分析基本思路 維度下鉆 3,代碼實現全流程思路…

華為telnet的兩種認證方式

華為telnet的兩種認證方式 實驗拓撲: 實驗要求: 1.采用普通密碼認證實現telnet 遠程登錄機房設備R3 2.采用AAA認證服務方式實現telnet 遠程登錄機房設備R3 實驗步驟: 1.完成基本配置(設備接口配置IP,此步驟略過&#…

Facebook的隱私保護挑戰:用戶數據安全的新時代

在全球范圍內,Facebook已經成為了不可忽視的社交媒體巨頭,它連接著超過20億的活躍用戶。然而,隨著其影響力的不斷擴大,關于用戶隱私和數據安全的問題也愈加引人關注。本文將深入探討Facebook面臨的隱私保護挑戰,以及它…

一個程序員的牢獄生涯(47)學法

星期一 學法 二鋪不知道什么時候走到了我的身邊,向我說道,這是二鋪在我進來號子后主動過來和我說話。 我聽到二鋪這聲突兀的說話后,抬起頭。這時我才看到,除了二鋪,還有六子、棍子都圍在我的身邊,看著我。雖然六子和棍子依舊一副‘吊兒郎當’的樣子,但我從他們幾個的眼神…

解析前端開發中同源策略與配置代理

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、pandas是什么?二、使用步驟 1.引入庫2.讀入數據總結 前言 在前端開發中,跨域請求是一個常見的問題。同源策略限制了瀏覽器中一個頁面…

C++高手進階:Windows 模塊加載的藝術與策略

前文我們講到了怎么不依賴第三庫,搭建自己的測試框架 沒有看的讀者可以通過這個鏈接自行閱讀: 👉👉👉 自力更生:0依賴三方庫,手把手教你打造專屬C測試框架 作為項目開發來說,我們通常…

Leetcode:最長回文子串

題目鏈接:5. 最長回文子串 - 力扣(LeetCode) 普通版本(暴力枚舉) 解題關鍵: 1、記錄最長回文字串的長度和起始字符的下標 2、判斷回文字串的邏輯與整體邏輯分離 3、先確定尋找回文字串的邊界范圍后從兩邊向…

解析Java中1000個常用類:CharSequence類,你學會了嗎?

在 Java 編程中,字符串操作是最常見的任務之一。為了提供一種靈活且統一的方式來處理不同類型的字符序列,Java 引入了 CharSequence 接口。 通過實現 CharSequence 接口,各種字符序列類可以提供一致的 API,增強了代碼的靈活性和可擴展性。 本文將深入探討 CharSequence 接…

NBM 算法【python,算法,機器學習】

樸素貝葉斯法(Naive Bayes model)是基于貝葉斯定理與特征條件獨立假設的分類方法。 貝葉斯定理 P ( A ∣ B ) P ( B ∣ A ) ? P ( A ) P ( B ) P(A|B)\frac{P(B|A) * P(A)}{P(B)} P(A∣B)P(B)P(B∣A)?P(A)? 其中A表示分類,B表示屬性&…

Unity中的MVC框架

基本概念 MVC全名是Model View Controller 是模型(model)-視圖(view)-控制器(controller)的縮寫 是一種軟件設計規范,用一種業務邏輯、數據、界面顯示 分離的方法組織代碼 將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時&#x…

【嵌入式硬件】DRV8874電機驅動

目錄 1 芯片介紹 1.1 特性簡介 1.2 引腳配置 1.3 最佳運行條件 2 詳細說明 2.1 PMODE配置控制模式 2.1.1 PH/EN 控制模式 2.1.2 PWM 控制模式 2.1.3 獨立半橋控制模式 2.2 電流感測和調節 2.2.1 IPROPI電流感測 2.2.2 IMODE電流調節 3.應用 3.1設計要求 3.2 設計…

AI換臉FaceFusion一鍵云部署指南

大家好,從我開始分享到現在,收到很多朋友的反饋說配置很低玩不了AI。本篇是一個云端部署AI項目的指南,幫助大家在云端進行AI項目的部署。我會從云平臺的選擇、代碼部署、保存鏡像幾個方面進行詳細的介紹。沒有代碼基礎的小白也不用擔心&#…

exe4j innosetup

exe4j:jdk: 打包時:需要的文件最好放到單獨的一個文件夾下,主機安裝32位jdk,exe4j用32位的。 附帶jre: jre用32位的(jdk下的jre)可使用X86,X64.用相對路徑。 只打64位時,需要選擇32-bit or 64-bit (generate 64…

樂觀鎖 or 悲觀鎖 你怎么選?

你有沒有聽過這樣一句話:悲觀者正確,樂觀者成功?。那么今天我來分享下什么是樂觀鎖?和悲觀鎖。 樂觀鎖和悲觀鎖有什么區別,它們什么場景會用 樂觀鎖 樂觀鎖基于這樣的假設:多個事務在同一時間對同一數據對象進行操作的可能性很…

fps游戲中如何將矩陣轉換為二維屏幕上的矩形坐標

fps游戲中如何將矩陣轉換為二維屏幕上的矩形坐標 matrix[4][4]: 4x4 矩陣,通常用于3D變換(如模型視圖投影矩陣)。 float* location: 一個指向位置坐標的指針,表示要轉換的3D位置。 int Window_w, int Window_h: 窗口的寬度和高…

工廠模式詳情

一.介紹工廠模式的用途與特點 工廠方法模式是一種創建型設計模式, 其在父類中提供一個創建對象的方法, 允許子類決定實例化對象的類型。定義工廠方法模式(Fatory Method Pattern)是指定義一個創建對象的接口,但讓實現這個接口的類來決定實例…

Python導出Jira列表

import requests import urllib3 urllib3.disable_warnings() from jira import JIRA import pandas as pd def login_jira(username,password):jira JIRA("https://jira.cn/",basic_auth(username,password))#projectsjira.project(id13)# jqlproject"云鏈-…

基于強化學習的控制率參數自主尋優

1.介紹 針對控制建模與設計場景中控制參數難以確定的普遍問題,提出了一種基于強化學習的控制律參數自主優化解決方案。該方案以客戶設計的控制律模型為基礎,根據自定義的控制性能指標,自主搜索并確定最優的、可狀態依賴的控制參數組合。 可…

unity打包的WebGL部署到IIS問題

部署之后會出錯,我遇到的有以下幾種; 進度條卡住不動 明明已經部署到了IIS上,為什么瀏覽網頁的時候還是過不去或者直接報錯。 進度條卡住不動的問題其實就是wasm和data的錯誤。 此時在瀏覽器上按F12進入開發者模式查看錯誤(下圖…