官术网_书友最值得收藏!

3.5 配置數據庫

前面提到Django應用程序的配置信息都存儲在mysite/settings.py文件中,數據庫配置也不例外。settings.py是一個標準的Python模塊,其中存放了很多模塊變量,數據庫配置信息就是其中的一個變量。默認情況下Django使用SQLite作為數據庫。SQLite是一個免安裝的數據庫系統,非常簡單易學,Python已經提供了相應的支持模塊,因此不需要做任何事情就可以在Django中使用SQLite。

雖然SQLite有如此多的優勢,但是,當你將Django程序真正應用到生產環境時,可能還是會因為各種問題而不得不更換數據庫,事實上幾乎沒有人在生產環境使用SQLite。因此,Django官方提供了對4種數據庫的支持:PostgreSQL、MySQL、Oracle和SQLite。對于不同的數據庫,Django提供了不同的數據庫綁定(database binding),對此后續會詳細介紹,本章使用默認參數就可以了。

下面是默認的數據庫配置:

關于更多的數據庫配置信息請參考第5章。

數據庫配置完成后就可以遷移(migrate)數據庫了,這也一并解決了前面運行runserver命令時的異常“You have 17 unapplied migration(s)”:

    > python manage.py migrate

migrate命令根據settings.py中的INSTALLED_APPS創建必要的數據庫表,每一個Django項目都會默認啟用一些應用,舉例如下。

django.contrib.admin:管理員站點,你很快就會使用它。

django.contrib.auth:認證授權系統。

djan go.contrib.contenttypes:內容類型框架。

django.contrib.sessions:會話框架。

django.contrib.messages:消息框架。

django.contrib.staticfiles:管理靜態文件的框架。

命令行會顯示出執行了哪些腳本,從腳本名字能夠大致推斷出創建了哪些數據庫表。也可以使用數據庫客戶端程序打開數據庫,在這里使用SQLiteStudio管理我的數據庫,如下圖所示。

此時可以看到數據庫已經包含10個表,而某些表中還同時添加了數據,例如auth_permission表,如下圖所示。

以上就是migrate命令為我們做的所有事情,關于migrate命令的更多用法請參考第4章。

主站蜘蛛池模板: 德化县| 阿拉尔市| 昌乐县| 洞头县| 襄汾县| 共和县| 彰化县| 青川县| 文昌市| 德庆县| 武鸣县| 上高县| 宜兰县| 汕头市| 英超| 马关县| 义马市| 潼关县| 南京市| 子长县| 额尔古纳市| 阜城县| 营山县| 绥滨县| 弥渡县| 平陆县| 商水县| 石棉县| 河间市| 静海县| 调兵山市| 雅江县| 灵石县| 包头市| 介休市| 岳池县| 资中县| 马山县| 万宁市| 秭归县| 明水县|