1. 程式人生 > >Django應用的設定物件django.conf.settings詳解

Django應用的設定物件django.conf.settings詳解

Django應用的各種配置引數往往位於一個設定檔案中。

與Java應用不同,設定檔案往往是xml或properties檔案,與Java類檔案完全不同。但是,在Django應用中的設定檔案,等同於一個Python模組,遵守Python的語法規範。

Django的設定檔案,事實上就是在配置Django的django.conf.settings物件。

對於一個Django應用,如果未進行任何設定,則在執行命令時,會提出如下提示:

Note that only Django core commands are listed as settings are not properly configured (error: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.).


下面以優先順序從低到高介紹Django應用中的設定方法。

1. Django預設設定檔案

$PYTHON_HOME/site-packages/django/conf/global_settings.py

2. 作業系統的環境變數DJANGO_SETTINGS_MODULE給出配置檔案的路徑

首先給出myFirstDjangoSite專案中主模組的設定檔案myFirstDjangoSite.settings.py,如下:

ALLOWED_HOSTS = ['www.ericsson.com']
DEBUG = False
DEFAULT_FROM_EMAIL = '[email protected]
'
設定檔案的內容總體可以分為Core, Auth, Message, Session, Site, Static Files等六個部分,詳情請參考文末的連結2。
  • Linux系統
export DJANGO_SETTINGS_MODULE=myFirstDjangoSite.settings
  • Windows系統
set DJANGO_SETTINGS_MODULE=myFirstDjangoSite.settings
3. Django專案內部的預設設定檔案

$MY_PROJECT/$MY_PROJECT/settings.py

4. 啟動Django應用時的設定引數

  • Linux系統

$PYTHON_HOME/site-packages/django/bin/django-admin runserver --settings=myFirstDjangoSite.settings

  • Windows系統
%PYTHON_HOME%/Scripts/django-admin runserver --settings=myFirstDjangoSite.settings

5. 在Python應用的程式碼中,執行時設定引數

from django.conf import settings
settings.configure(default_settings=myapp_defaults, DEBUG=True) #recommended
settings.DEBUG = True	#not recommended

最後,檢視當前的配置
python manage.py diffsettings

參考連結:

https://docs.djangoproject.com/en/1.11/topics/settings/
https://docs.djangoproject.com/en/1.11/ref/settings/

相關推薦

Django應用設定物件django.conf.settings

Django應用的各種配置引數往往位於一個設定檔案中。 與Java應用不同,設定檔案往往是xml或properties檔案,與Java類檔案完全不同。但是,在Django應用中的設定檔案,等同於一個Python模組,遵守Python的語法規範。 Django的設定檔案,事實

c#程式應用程式設定檔案Settings.settings

應用程式設定 應用程式設定使您能夠動態儲存和檢索應用程式的屬性設定和其他資訊。 還使您能夠維護客戶端計算機上的自定義應用程式和使用者首選項。 通常這些資料(如連線字串)對於執行應用程式是非常重要的,並且您不想將這些資料直接包含在應用程式程式碼中。 也許想要儲存兩種不同的資料庫連線字串,並在執行時

Django權限系統auth模塊

clas ons ble cat creat spa log chan ssi auth模塊是Django提供的標準權限管理系統,可以提供用戶身份認證, 用戶組和權限管理。 auth可以和admin模塊配合使用, 快速建立網站的管理系統。 在INSTALLED_APPS

Django中static(靜態)檔案以及{% static %}標籤的使用

想要深入學習Django的可以看一些這個視訊:超細講解Django打造大型企業官網 在一個網頁中,不僅僅只有一個html骨架,還需要css樣式檔案,js執行檔案以及一些圖片等。因此在DTL中載入靜態檔案是一個必須要解決的問題。在DTL中,使用static標籤來載入靜態檔案。要使用stat

Django模版中載入靜態檔案配置

1、settings.INSTALLED_APPS下新增:django.contrib.staticfiles 2、settings.py下新增:STATIC_URL = '/static/' 3、

Django的許可權系統身份驗證模組

轉自:原文出處身份驗證模組是Django中提供的標準許可權管理系統,提供可以使用者身份認證,使用者組和許可權管理。AUTH可以和管理模組配合使用,快速建立網站的管理系統。在INSTALLED_APPS中新增 'django.contrib.auth' 使用該應用程式,身份驗證模組預設啟用。使用者使用者是AUT

rest framework認證組件和django自帶csrf組件區別

說明 NPU 1.8 roc ret rest 自己 ext 開啟 使用 Django 中的 csrf 處理 Django中有一個django.middleware.csrf.CsrfViewMiddleware中間件提供了全局的csrf檢查。它的原理是在&l

Django之models高階進階技術

目錄 一、常用欄位 1.AutoField 2.IntegerField 3.CharField 4.自定義及使用char 5.DateField 6.Date

Android應用開發之所有動畫使用

factory 技術分享 resource bsp phi 顯示 程序 恢復 分享 題外話:有段時間沒有更新博客了,這篇文章也是之前寫了一半一直放在草稿箱,今天抽空把剩余的補上的。消失的這段時間真的好忙,節奏一下子有些適應不過來,早晨七點四十就得醒來,晚上九點四十才準備下班

Nginx配置文件nginx.conf中文

free /var/ /dev/ 配置文件 passwd 運行 bus body 虛擬主機 #定義Nginx運行的用戶和用戶組user www www; #nginx進程數,建議設置為等於CPU總核心數。worker_processes 8; #全局錯誤日誌定義類型,[

Linux Samba服務主配文件smb.conf中文【轉】

except 共享資源 參考 -s 開啟 eve crypt 詳解 pat 轉自:https://blog.csdn.net/maotianwang/article/details/52524732 從網上找到描述比較詳細的smb.conf中文解釋: 服務

(總結)Nginx配置文件nginx.conf中文

頁面 ulimit 正常 index.php 獲取 權重 bsd types keepal PS:Nginx使用有兩三年了,現在經常碰到有新用戶問一些很基本的問題,我也沒時間一一回答,今天下午花了點時間,結合自己的使用經驗,把Nginx的主要配置參數說明分享一下,也參考了一

response物件&重定向

2018年10月26日16:10:47 於易動 客戶端瀏覽器和伺服器:   請求的時候: request物件:    HttpServletRequest   響應的時候: response物件: HttpServletResp

Spring IOC -bean物件的生命週期(補充,含程式碼)

生命週期執行的過程如下:1) spring對bean進行例項化,預設bean是單例2) spring對bean進行依賴注入3) 如果bean實現了BeanNameAware介面,spring將bean的id傳給setBeanName()方法4) 如果bean實現了BeanFactory

nsswitch.conf檔案

Linux系統下的/etc/nsswitch.conf檔案 轉載自:https://www.cnblogs.com/besharp/p/8351227.html 一、什麼是nsswithch.conf(服務搜尋順序)檔案呢?       &n

Java非靜態內部類外部this物件和final型別

1. 非靜態內部類是如何引用外部類this物件的 Java內部類分為靜態內部類和非靜態內部類。它們有一個比較大的區別在於,非靜態內部類擁有外部類的this物件的引用,從而使得非靜態內部類可以訪問外部類的成員函式,成員變數。這個結論我們大家都比較清楚,那麼原理大家都懂嗎?這篇文章我講通

java 物件的序列化

序列化 物件序列化的目標是將物件儲存到磁碟中,或者允許在網路中直接傳輸物件。物件序列化機制允許把記憶體中的JAVA物件轉換成跟平臺無關的二進位制流,從而允許將這種二進位制流持久地儲存在磁碟上,通過網路將這種二進位制流傳輸到另一個網路節點,其他程式一旦獲得了這種二進位制流,都可以講二進位制流恢復成

分享《深度學習與計算機視覺演算法原理框架應用》《大資料架構從資料獲取到深度學習》PDF資料集

下載:https://pan.baidu.com/s/12-s95JrHek82tLRk3UQO_w 更多資料分享:http://blog.51cto.com/3215120 《深度學習與計算機視覺 演算法原理、框架應用》PDF,帶書籤,347頁。《大資料架構詳解:從資料獲取到深度學習》PDF,帶書籤,3

分享《深度學習與計算機視覺算法原理框架應用》《大數據架構從數據獲取到深度學習》PDF數據集

書簽 部分 https log pdf 深入 -s 更多 實用 下載:https://pan.baidu.com/s/12-s95JrHek82tLRk3UQO_w 更多資料分享:http://blog.51cto.com/3215120 《深度學習與計算機視覺 算法原理

Linux中讓alias設定永久生效的方法

前言 經常使用Linux控制檯終端的站長們應該對於那些繁瑣的指令和引數命令列印象深刻吧!這也是很多站長寧願使用有安全風險的面板也不願意使用控制檯終端命令列的主要原因!好在,明月早年間的DOS下學習程式設計的經歷,對於這種命令列式的風格還是偏愛有加,但對於那些幾乎經常要用到的命令列每次都要重複性的