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中數據庫的操作可以參考下一篇博文。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com