Python的Django框架中的數(shù)據(jù)庫配置指南
記住這些理念之后,讓我們來開始 Django 數(shù)據(jù)庫層的探索。 首先,我們需要做些初始配置;我們需要告訴Django使用什么數(shù)據(jù)庫以及如何連接數(shù)據(jù)庫。
我們假定你已經(jīng)完成了數(shù)據(jù)庫服務器的安裝和激活,并且已經(jīng)在其中創(chuàng)建了數(shù)據(jù)庫(例如,用 CREATE DATABASE 語句)。 如果你使用SQLite,不需要這步安裝,因為SQLite使用文件系統(tǒng)上的獨立文件來存儲數(shù)據(jù)。
象前面章節(jié)提到的 TEMPLATE_DIRS 一樣,數(shù)據(jù)庫配置也是在Django的配置文件里,缺省 是 settings.py 。 打開這個文件并查找數(shù)據(jù)庫配置:
DATABASE_ENGINE = '' DATABASE_NAME = '' DATABASE_USER = '' DATABASE_PASSWORD = '' DATABASE_HOST = '' DATABASE_PORT = ''
配置綱要如下。
DATABASE_ENGINE 告訴Django使用哪個數(shù)據(jù)庫引擎。 如果你在 Django 中使用數(shù)據(jù)庫, DATABASE_ENGINE 必須是表中所列出的值。
要注意的是無論選擇使用哪個數(shù)據(jù)庫服務器,都必須下載和安裝對應的數(shù)據(jù)庫適配器。 訪問表 5-1 中“所需適配器”一欄中的鏈接,可通過互聯(lián)網(wǎng)免費獲取這些適配器。 如果你使用Linux,你的發(fā)布包管理系統(tǒng)會提供合適的包。 比如說查找`` python-postgresql`` 或者`` python-psycopg`` 的軟件包。
配置示例:
DATABASE_ENGINE = 'postgresql_psycopg2'
DATABASE_NAME 將數(shù)據(jù)庫名稱告知 Django 。 例如:
DATABASE_NAME = 'mydb'
如果使用 SQLite,請對數(shù)據(jù)庫文件指定完整的文件系統(tǒng)路徑。 例如:
DATABASE_NAME = '/home/django/mydata.db'
在這個例子中,我們將SQLite數(shù)據(jù)庫放在/home/django目錄下,你可以任意選用最合適你的目錄。
DATABASE_USER 告訴 Django 用哪個用戶連接數(shù)據(jù)庫。 例如: 如果用SQLite,空白即可。
DATABASE_PASSWORD 告訴Django連接用戶的密碼。 SQLite 用空密碼即可。
DATABASE_HOST 告訴 Django 連接哪一臺主機的數(shù)據(jù)庫服務器。 如果數(shù)據(jù)庫與 Django 安裝于同一臺計算機(即本機),可將此項保留空白。 如果你使用SQLite,此項留空。
此處的 MySQL 是一個特例。 如果使用的是 MySQL 且該項設置值由斜杠( '/' )開頭,MySQL 將通過 Unix socket 來連接指定的套接字,例如:
DATABASE_HOST = '/var/run/mysql'
一旦在輸入了那些設置并保存之后應當測試一下你的配置。 我們可以在`` mysite`` 項目目錄下執(zhí)行上章所提到的`` python manage.py shell`` 來進行測試。 (我們上一章提到過在,`` manager.py shell`` 命令是以正確Django配置啟用Python交互解釋器的一種方法。 這個方法在這里是很有必要的,因為Django需要知道加載哪個配置文件來獲取數(shù)據(jù)庫連接信息。)
輸入下面這些命令來測試你的數(shù)據(jù)庫配置:
>>> from django.db import connection >>> cursor = connection.cursor()
如果沒有顯示什么錯誤信息,那么你的數(shù)據(jù)庫配置是正確的。 否則,你就得 查看錯誤信息來糾正錯誤。 下表是一些常見錯誤。
- 使用python和Django完成博客數(shù)據(jù)庫的遷移方法
- python django 增刪改查操作 數(shù)據(jù)庫Mysql
- Python的Django框架中使用SQLAlchemy操作數(shù)據(jù)庫的教程
- 在Python的Django框架中更新數(shù)據(jù)庫數(shù)據(jù)的方法
- Python的Django框架可適配的各種數(shù)據(jù)庫介紹
- 用實例詳解Python中的Django框架中prefetch_related()函數(shù)對數(shù)據(jù)庫查詢的優(yōu)化
- python web應用程序之Django數(shù)據(jù)庫詳解
相關文章
Python字典的基本用法實例分析【創(chuàng)建、增加、獲取、修改、刪除】
這篇文章主要介紹了Python字典的基本用法,結合具體實例形式分析了Python字典的創(chuàng)建、增加、獲取、修改、刪除等基本操作技巧與注意事項,需要的朋友可以參考下2019-03-03對python中兩種列表元素去重函數(shù)性能的比較方法
今天小編就為大家分享一篇對python中兩種列表元素去重函數(shù)性能的比較方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06PyQt+socket實現(xiàn)遠程操作服務器的方法示例
這篇文章主要介紹了PyQt+socket實現(xiàn)遠程操作服務器的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08python中將\\uxxxx轉換為Unicode字符串的方法
這篇文章主要介紹了python中將\\uxxxx轉換為Unicode字符串的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09pandas把dataframe轉成Series,改變列中值的類型方法
下面小編就為大家分享一篇pandas把dataframe轉成Series,改變列中值的類型方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Numpy中創(chuàng)建數(shù)組的9種方式小結
本文主要介紹了Numpy中創(chuàng)建數(shù)組的9種方式小結,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03