django-數據庫[ 配置 ]


os:mac, django1.9.5,  python3.5

database:mysql

 

 

0.背景

django內置的database如下:

要注意的是無論選擇使用哪個數據庫服務器,都必須下載和安裝對應的數據庫適配器

 

表 1-1. 數據庫引擎設置
設置 數據庫 適配器
postgresql PostgreSQL psycopg 版本 1.x
postgresql_psycopg2 PostgreSQL psycopg 版本 2.x
mysql MySQL MySQLdb 
sqlite3 SQLite Python 2.5+ 內建
oracle Oracle cx_Oracle 

 

 

1.安裝

我們選擇mysql作為數據庫服務器

因為MySQLdb並不支持Python3.5,所以需要安裝pymysql,作為django操作mysql的適配器。

當然會有相應的小代價,在配置中會提到。

pip install pymysql

 

 

2.配置

django中默認的數據庫為sqlite3,即新建項目后配置文件(settings.py)中關於數據庫的初始配置如下:

1 DATABASES = {
2     'default': {
3         'ENGINE': 'django.db.backends.sqlite3',
4         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
5     }
6 }

 

2.1 創建數據庫

首先,登錄mysql,創建數據庫mall

create database mall default charset=utf8;

 

2.2 給數據庫創建用戶

然后,將數據庫mall的所有權限分配給用戶rinka,密碼為rinka0414

grant all privileges on mall.* to 'rinka'@'localhost' identified by 'rinka0414';

 

2.3 配置

最后在django中將配置改為:

 1 DATABASES = {
 2     'default': {
 3         'ENGINE': 'django.db.backends.mysql',
 4         'NAME': 'mall',
 5         'USER': 'rinka',
 6         'PASSWORD': 'rinka0414',
 7         'HOST': 'localhost',
 8         'PORT': '3306',
 9     }
10 }

 

其中:

DATABASE_ENGINE 即為“背景”中所提到的那些數據庫服務器

DATABASE_NAME 將數據庫名稱告知 django

DATABASE_USER 告訴 django 用哪個用戶連接數據庫

DATABASE_PASSWORD 告訴django連接用戶的密碼

DATABASE_HOST 告訴 django 連接哪一台主機的數據庫服務器

DATABASE_PORT 告訴 django 連接數據庫時使用哪個端口

 

2.4 小代價

最最后一步記得在項目同名文件夾下的__init.py__中,加入:

1 import pymysql
2 pymysql.install_as_MySQLdb()

否則會報錯:

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'

 

 

 

3.運行

python manage.py runserver

能成功運行項目不報錯,就說明數據庫成功連接好啦

 

 

 


 

總結

 

django中的數據庫配置:

 

1.選擇一個數據庫服務器

 

2.下載安裝相應的適配器

 

3.創建數據庫

 

4.在django的配置文件中配置數據庫

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM