基本配置信息
配置信息主要由項目中settings.py文件實現,主要配置有:
-
項目路徑
-
密鑰配置
-
域名訪問權限
-
App列表
-
配置靜態資源
-
配置模板文件
-
數據庫配置
-
中間件
-
緩存配置
settings.py的基本配置如下:
上述代碼列出了項目路徑BASE_DIR、密鑰配置SECRET_KEY、調試模式DEBUG、訪問權限ALLOWED_HOSTS和App列表INSTALLED_APPS,各個配置說明如下: ● 項目路徑BASE_DIR: 主要通過os模塊讀取當前項目在系統的具體路徑,代碼在創建項目時自動生成,通常無需修改。 ● 密鑰配置SECURIT_KEY: 是一個隨機值,在項目創建的時候自動生成,通常無需修改。主要用於重要數據的加密處理,提高系統安全性。 ● 調試模式DEBUG: 該值爲布爾類型。開發局階段True,項目部署上線改爲False。 ● 域名訪問權限ALLOWED_HOSTS:設置可訪問的域名,默認爲空。DEBUG=True同時ALLOWD_HOSTS爲空代表項目只允許以localhost或者127.0.0.1在瀏覽器上訪問。DEBUG=False時ALLOWD_HOSTS爲必填項,設置爲ALLOWD_HOSTS=['xxx.xxx.xxx.xxx'] App列表INSTALLED_APPS,告訴django有哪些App,項目中已有配置信息如下:
名稱 | 說明 |
---|---|
admin | 內置的後臺管理系統 |
auth | 內置的用戶認證系統 |
contenttypes | 記錄項目中的model元數據 |
sessions | Session會話功能,用於標識訪問網站的用戶身份信息 |
messages | 消息提示功能 |
staticfiles | 查找靜態資源路徑 |
如果項目中加入了App,需要在INSTALLED_APPS列表中加入App名字,如:
靜態資源
靜態資源指,網站中不變的文件。靜態資源包括CSS文件、JavaScript文件以及圖片等資源文件。
● CSS(層疊樣式表) 一種用來表現HTML或XML文件樣式的計算機語言。
● JavaScript 一種直譯式腳本語言在HTML網頁上使用,用於給網頁增加動態功能。
靜態文件存放在配置文件settings.py文件上,如下:
上述配置將靜態資源存放在文件夾static,這個文件夾只能放在App裏面。
項目啓動時,Django根據靜態資源存放路徑查找相關文件,查找功能由App列表INSTALLED_APPS的staticfiles實現。
在index App中添加‘python package’並放置文件。
啓動項目後,瀏覽器訪問:http://127.0.0.1:8000/static/FileName
如果想在djangoDemo的根目錄下存放靜態資源,可以在settings.py中設置STATICFILES_DIRS屬性。
該屬性以列表形式表示,設置方式如下:
分別在根目錄下創建文件夾public_static,在App(index)下創建index_static文件夾。
模塊路徑
模板是一種較爲特殊的HTML文檔。這個文檔中嵌入了一些Python識別的變量和指令,然後程序解析這些變量和命令,生成完整的HTML網頁並返回給用哦過戶瀏覽。
MTV框架中的T。創建項目時,Django已初始化模板配置信息:
名稱 | 說明 |
---|---|
BACKEND | 模板引擎,用於識別模板中的變量和指令 |
DIRS | 設置模板所在路徑,告訴Django模板位置 |
APP_DIRS | 是否在App文件中查找模板文件 |
OPTIONS | RequestContex中上下文的調用函數,通常不做修改 |
在項目根目錄index下分別創建templates文件夾,並在文件夾下創建index.html和app_index.html
根目錄templates通常存放共用的模板文件,能夠提供各個App的模板文件調用,該模板符合代碼重複使用原則,如HTML的<head>部分。
index的templates是存放當前App所需的模板文件。模板配置如下:
數據庫配置
選擇項目所使用的數據庫類型,不同數據庫需要設置不同的數據庫引擎,數據庫引擎用於實現項目與數據庫的連接,
Django提供四種數據庫引擎:
Django除了支持PostgreSQL、Sqlite3、MySQL和Oracle以外,還支持SQLServer和MongoDB的連接。
項目創建時,默認sqlite3數據庫,這是一款輕型的數據庫,常用於嵌入式系統開發,配置信息如下:
如果把上述連接信息修改爲MySQL數據庫,首先安裝MySQL連接模塊‘mysqlclient’ ,輸入命令:
在線安裝:pip install mysqlclient
離線安裝:pip install --no-index --find-links=file:E:\ mysqlclient-1.4.1-cp37-cp37m-win_amd64.whl
完成mysqlclient模塊晚裝後,配置settings.py的MySQL連接信息,如下
![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20190613234049604.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzIxMTUzOTk3,size_16,color_FFFFFF,t_70)
中間件
中間件是處理Django的request和response對象的過程。當用戶在網站中進行某個按鈕等操作時,這個動作是用戶向網站發送request,
而網站根據操作返回相關內容,這個過程叫response。
一般情況下,Django默認的中間件配置均可滿足大部分的開發需求。在MIDDLEWARE中添加LocalMiddleware中間件,使得Django內置功能
支持中文顯示,如下:
中間件說明:
名稱 | 說明 |
---|---|
SecurityMiddleware | 內置安全機制,保護用戶與網站通信安全 |
SessionMiddleware | 會話Session功能 |
CommonMiddleware | 處理請求信息,規範化請求內容 |
CsrfViewMiddleware | 開啓CSRF防護功能 |
AuthenticationMiddleware | 開啓內置用戶驗證系統 |
MessageMiddleware | 開啓內置信息提示功能 |
XFrameOptionsMiddleware | 防止惡意程序點擊劫持 |
LocalMiddleware | 支持中文語言 |