Django如何配置mysql數(shù)據(jù)庫
Django項目默認(rèn)使用sqlite 數(shù)據(jù)庫,但是我想用mysql數(shù)據(jù)庫,應(yīng)該如何配置呢。
Django連接mysql數(shù)據(jù)庫的操作,是通過根模塊的配置實現(xiàn)的,在項目根模塊的配置文件settings.py中,我們可以查詢到如下DATABASES的配置信息:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
解釋一下上面代碼的意思:
ENGINE:用于特定的數(shù)據(jù)庫引擎的配置,不同的數(shù)據(jù)庫字段不同,常見的有:
django.db.backends.postgresql # PostgreSQL django.db.backends.mysql # mysql django.db.backends.sqlite3 # sqlite django.db.backends.oracle # oracle
NAME: 是指要連接的數(shù)據(jù)庫名字
django的文檔中有說明,想使用mysql的話需要安裝Python的db API DRIVER 即數(shù)據(jù)庫接口驅(qū)動,常用的數(shù)據(jù)庫驅(qū)動接口有三種,mysqldb、pymysql、mysqlclient 。但是但是MYSQLdb不支持python3 ,官方推薦使用mysqlclient。因此本文也是采用mysqlclient。好了廢號不多說,開始今天的Django配置mysql之旅。
第一步:下載mysqlclient
pip install mysqlclient
第二步:創(chuàng)建一個數(shù)據(jù)庫,比如我創(chuàng)建了一個blog數(shù)據(jù)庫,你可以用命令創(chuàng)建,也可以用可視化工具(Navicat Premium)進行創(chuàng)建,命令創(chuàng)建數(shù)據(jù)庫代碼:
CREATE DATABASE blog(database_name) CHARACTER SET UTF8; #指定數(shù)據(jù)庫的編碼utf8
第三步:在settings.py中配置mysql連接參數(shù),如下:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'blog', 'USER':'root', 'PASSWORD':'kong1234,', 'HOST':'127.0.0.1', 'PORT':'3306', } }
- USER: 數(shù)據(jù)庫登錄的用戶名,mysql一般都是root
- PASSWORD:登錄數(shù)據(jù)庫的密碼,必須是USER用戶所對應(yīng)的密碼
- HOST: 由于一般的數(shù)據(jù)庫都是C/S結(jié)構(gòu)的,所以得指定數(shù)據(jù)庫服務(wù)器的位置,我們一般數(shù)據(jù)庫服務(wù)器和客戶端都是在一臺主機上面,所以一般默認(rèn)都填127.0.0.1
- PORT:數(shù)據(jù)庫服務(wù)器端口,mysql默認(rèn)為3306
- HOST和PORT都可以不填,使用默認(rèn)的配置,但是如果你有更改默認(rèn)配置的話,就需要填入更改后的
其實這樣基本上完成了,為了更好地說明,舉個實例進行演示一下數(shù)據(jù)的操作。
第四步:在你創(chuàng)建的應(yīng)用中models.py創(chuàng)建model類。
比如我在我的blog應(yīng)用下的,models.py中創(chuàng)建一個類,代碼如下:
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)
第五步:將字段映射成數(shù)據(jù)表,執(zhí)行如下命令
python manage.py makemigrations (應(yīng)用名,選寫) python manage.py migrate (應(yīng)用名,選寫)
第六步:執(zhí)行python manage.py sqlmigrate應(yīng)用名 文件id
查看sql語句
python manage.py sqlmigrate blog 0001
具體django中數(shù)據(jù)庫的操作可以參考下一篇博文。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
pycharm: 恢復(fù)(reset) 誤刪文件的方法
今天小編就為大家分享一篇pycharm: 恢復(fù)(reset) 誤刪文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10python Qt5實現(xiàn)窗體跟蹤鼠標(biāo)移動
今天小編就為大家分享一篇python Qt5實現(xiàn)窗體跟蹤鼠標(biāo)移動,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python 中 Virtualenv 和 pip 的簡單用法詳解
本篇文章主要介紹了Python 中 Virtualenv 和 pip 的簡單用法詳解,具有一定的參考價值,有興趣的可以了解一下2017-08-08