Python的Django框架中的數(shù)據(jù)庫(kù)配置指南
記住這些理念之后,讓我們來(lái)開(kāi)始 Django 數(shù)據(jù)庫(kù)層的探索。 首先,我們需要做些初始配置;我們需要告訴Django使用什么數(shù)據(jù)庫(kù)以及如何連接數(shù)據(jù)庫(kù)。
我們假定你已經(jīng)完成了數(shù)據(jù)庫(kù)服務(wù)器的安裝和激活,并且已經(jīng)在其中創(chuàng)建了數(shù)據(jù)庫(kù)(例如,用 CREATE DATABASE 語(yǔ)句)。 如果你使用SQLite,不需要這步安裝,因?yàn)镾QLite使用文件系統(tǒng)上的獨(dú)立文件來(lái)存儲(chǔ)數(shù)據(jù)。
象前面章節(jié)提到的 TEMPLATE_DIRS 一樣,數(shù)據(jù)庫(kù)配置也是在Django的配置文件里,缺省 是 settings.py 。 打開(kāi)這個(gè)文件并查找數(shù)據(jù)庫(kù)配置:
DATABASE_ENGINE = '' DATABASE_NAME = '' DATABASE_USER = '' DATABASE_PASSWORD = '' DATABASE_HOST = '' DATABASE_PORT = ''
配置綱要如下。
DATABASE_ENGINE 告訴Django使用哪個(gè)數(shù)據(jù)庫(kù)引擎。 如果你在 Django 中使用數(shù)據(jù)庫(kù), DATABASE_ENGINE 必須是表中所列出的值。

要注意的是無(wú)論選擇使用哪個(gè)數(shù)據(jù)庫(kù)服務(wù)器,都必須下載和安裝對(duì)應(yīng)的數(shù)據(jù)庫(kù)適配器。 訪問(wèn)表 5-1 中“所需適配器”一欄中的鏈接,可通過(guò)互聯(lián)網(wǎng)免費(fèi)獲取這些適配器。 如果你使用Linux,你的發(fā)布包管理系統(tǒng)會(huì)提供合適的包。 比如說(shuō)查找`` python-postgresql`` 或者`` python-psycopg`` 的軟件包。
配置示例:
DATABASE_ENGINE = 'postgresql_psycopg2'
DATABASE_NAME 將數(shù)據(jù)庫(kù)名稱告知 Django 。 例如:
DATABASE_NAME = 'mydb'
如果使用 SQLite,請(qǐng)對(duì)數(shù)據(jù)庫(kù)文件指定完整的文件系統(tǒng)路徑。 例如:
DATABASE_NAME = '/home/django/mydata.db'
在這個(gè)例子中,我們將SQLite數(shù)據(jù)庫(kù)放在/home/django目錄下,你可以任意選用最合適你的目錄。
DATABASE_USER 告訴 Django 用哪個(gè)用戶連接數(shù)據(jù)庫(kù)。 例如: 如果用SQLite,空白即可。
DATABASE_PASSWORD 告訴Django連接用戶的密碼。 SQLite 用空密碼即可。
DATABASE_HOST 告訴 Django 連接哪一臺(tái)主機(jī)的數(shù)據(jù)庫(kù)服務(wù)器。 如果數(shù)據(jù)庫(kù)與 Django 安裝于同一臺(tái)計(jì)算機(jī)(即本機(jī)),可將此項(xiàng)保留空白。 如果你使用SQLite,此項(xiàng)留空。
此處的 MySQL 是一個(gè)特例。 如果使用的是 MySQL 且該項(xiàng)設(shè)置值由斜杠( '/' )開(kāi)頭,MySQL 將通過(guò) Unix socket 來(lái)連接指定的套接字,例如:
DATABASE_HOST = '/var/run/mysql'
一旦在輸入了那些設(shè)置并保存之后應(yīng)當(dāng)測(cè)試一下你的配置。 我們可以在`` mysite`` 項(xiàng)目目錄下執(zhí)行上章所提到的`` python manage.py shell`` 來(lái)進(jìn)行測(cè)試。 (我們上一章提到過(guò)在,`` manager.py shell`` 命令是以正確Django配置啟用Python交互解釋器的一種方法。 這個(gè)方法在這里是很有必要的,因?yàn)镈jango需要知道加載哪個(gè)配置文件來(lái)獲取數(shù)據(jù)庫(kù)連接信息。)
輸入下面這些命令來(lái)測(cè)試你的數(shù)據(jù)庫(kù)配置:
>>> from django.db import connection >>> cursor = connection.cursor()
如果沒(méi)有顯示什么錯(cuò)誤信息,那么你的數(shù)據(jù)庫(kù)配置是正確的。 否則,你就得 查看錯(cuò)誤信息來(lái)糾正錯(cuò)誤。 下表是一些常見(jiàn)錯(cuò)誤。

- 使用python和Django完成博客數(shù)據(jù)庫(kù)的遷移方法
- python django 增刪改查操作 數(shù)據(jù)庫(kù)Mysql
- Python的Django框架中使用SQLAlchemy操作數(shù)據(jù)庫(kù)的教程
- 在Python的Django框架中更新數(shù)據(jù)庫(kù)數(shù)據(jù)的方法
- Python的Django框架可適配的各種數(shù)據(jù)庫(kù)介紹
- 用實(shí)例詳解Python中的Django框架中prefetch_related()函數(shù)對(duì)數(shù)據(jù)庫(kù)查詢的優(yōu)化
- python web應(yīng)用程序之Django數(shù)據(jù)庫(kù)詳解
相關(guān)文章
Python機(jī)器學(xué)習(xí)之使用Pyecharts制作可視化大屏
pyecharts是一個(gè)用于生成Echarts圖表的Python庫(kù),Echarts是百度開(kāi)源的一個(gè)數(shù)據(jù)可視化 JS 庫(kù),可以生成一些非??犰诺膱D表,這篇文章主要給大家介紹了關(guān)于Python機(jī)器學(xué)習(xí)之Pyecharts制作可視化大屏的相關(guān)資料,需要的朋友可以參考下2021-10-10
Pycharm+Flask零基礎(chǔ)項(xiàng)目搭建入門的實(shí)現(xiàn)
本文主要介紹了Pycharm+Flask零基礎(chǔ)項(xiàng)目搭建入門的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
Python 同級(jí)目錄(兄弟目錄)調(diào)用方式
這篇文章主要介紹了Python 同級(jí)目錄(兄弟目錄)調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
Python?數(shù)據(jù)分析教程探索性數(shù)據(jù)分析
這篇文章主要介紹了Python?數(shù)據(jù)分析教程探索性數(shù)據(jù)分析,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08

