1. 程式人生 > 資料庫 >Django如何配置mysql資料庫

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中資料庫的操作可以參考下一篇博文。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。