首頁 >後端開發 >Python教學 >Django如何配置mysql資料庫

Django如何配置mysql資料庫

不言
不言原創
2018-05-05 14:39:051801瀏覽

這篇文章主要為大家詳細介紹了Django配置mysql資料庫的詳細步驟,具有一定的參考價值,有興趣的小夥伴們可以參考一下

Django專案預設使用sqlite 資料庫,但是我想用mysql資料庫,該如何配置呢。

Django連接mysql資料庫的操作,是透過根模組的配置實現的,在專案根模組的設定檔settings.py中,我們可以查詢到如下DATABASES的設定資訊:

#
DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
  }
}

解釋一下上面程式碼的意思:

ENGINE:用於特定的資料庫引擎的配置,不同的資料庫欄位不同,常見的有:

django.db.backends.postgresql # PostgreSQL
django.db.backends.mysql    # mysql 
django.db.backends.sqlite3   # sqlite 
django.db.backends.oracle   # oracle

NAME: 是指要連接的資料庫名稱

django的文件中有說明,想使用mysql的話需要安裝Python的db API DRIVER 即資料庫介面驅動,常用的資料庫驅動介面有三種,mysqldb、pymysql、mysqlclient 。但但是MYSQLdb不支援python3 ,官方推薦使用mysqlclient。因此本文也是採用mysqlclient。好了廢號不多說,開始今天的Django配置mysql之旅。

第一步:下載mysqlclient

pip install mysqlclient

##第二步:創建一個資料庫,例如我創建了一個blog資料庫,你可以用命令創建,也可以用視覺化工具(Navicat Premium)進行創建,命令創建資料庫代碼:

CREATE DATABASE blog(database_name) CHARACTER SET UTF8; 
   #指定数据库的编码utf8

第三步:在settings.py中設定mysql連線參數,如下:

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'blog',
  'USER':'root',
  'PASSWORD':'kong1234,',
  'HOST':'127.0.0.1',
  'PORT':'3306',
  }
}

  • #USER: 資料庫登入的用戶名,mysql一般都是root

  • PASSWORD:登入資料庫的密碼,必須是USER用戶所對應的密碼

  • HOST: 由於一般的資料庫都是C/S結構的,所以得指定資料庫伺服器的位置,我們一般資料庫伺服器和客戶端都是在一台主機上面,所以一般預設都填127.0.0.1

  • PORT:資料庫伺服器端口,mysql預設為3306

  • HOST和PORT都可以不填,使用預設的配置,但是如果你有更改預設配置的話,就需要填入更改後的


#其實這樣基本上完成了,為了更好地說明,舉個實例進行演示一下數據的操作。

第四步:在你建立的應用程式中models.py建立model類別。

例如我在我的blog應用下的,models.py中建立一個類,程式碼如下:

from __future__ import unicode_literals
from django.db import models


class Article(models.Model):
  title = models.CharField(max_length=32, default='Title')
  content = models.TextField(null=True)

##第五個步驟:

將欄位對應成資料表,執行如下指令

python manage.py makemigrations (应用名,选写)
python manage.py migrate (应用名,选写)

#第六步:

執行python manage.py sqlmigrate應用程式名稱檔id查看sql語句

python manage.py sqlmigrate blog 0001

具體django中資料庫的操作可以參考下一篇博文。

相關推薦:


詳解Django之admin元件的使用與原始碼剖析

以上是Django如何配置mysql資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn