亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

在Django中同時使用多個配置文件的方法

2020-01-04 18:00:35
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了在Django中同時使用多個配置文件的方法,Django是豐富多彩的Python web框架中人氣最高的一個,需要的朋友可以參考下

我們僅僅處理一個單一的設置文件 settings.py文件由django-admin.py startproject命令生成。但是當你準備要進行配置的時候,你將發現你需要多個配置文件以使你的開發環境和產品環境相獨立。 比如,你可能不想每次在本地機器上測試代碼改變的時候將DEBUG從False 改為True。Django通過使用多個配置文件而使得這種情況很容易得到避免。

如果你想把你的配置文件按照產品設置和開發設置組織起來,你可以通過下面三種方法的其中一種達到這個目的。

設置成兩個全面的,彼此獨立的配置文件

設置一個基本的配置文件(比如,為了開發)和第二個(為了產品)配置文件,第二個配置文件僅僅從基本的那個配置文件導入配置,并對需要定義的進行復寫.

使用一個單獨的配置文件,此配置文件包含一個Python的邏輯判斷根據上下文環境改變設置。

我們將會在依次解釋這幾種方式

首先,最基本的方法是定義兩個單獨的配置文件。 如果你是跟隨之前的例子做下來的,那么你已經有了一個settings.py了,現在你只需要將它復制一份并命名為settings_production.py(文件名可以按照你自己的喜好定義),在這個新文件中改變DEBUG等設置。

第二種方法比較類似,但是減少了許多冗余。 作為使用兩個內容大部分相同的配置文件的替代方式,你可以使用一個文件為基本文件,另外一個文件從基本文件中導入相關設定。 例如

 

 
  1. # settings.py 
  2.  
  3. DEBUG = True 
  4. TEMPLATE_DEBUG = DEBUG 
  5.  
  6. DATABASE_ENGINE = 'postgresql_psycopg2' 
  7. DATABASE_NAME = 'devdb' 
  8. DATABASE_USER = '' 
  9. DATABASE_PASSWORD = '' 
  10. DATABASE_PORT = '' 
  11.  
  12. # ... 
  13.  
  14. # settings_production.py 
  15.  
  16. from settings import * 
  17.  
  18. DEBUG = TEMPLATE_DEBUG = False 
  19. DATABASE_NAME = 'production' 
  20. DATABASE_USER = 'app' 
  21. DATABASE_PASSWORD = 'letmein' 

此處,settings_production.py 從settings.py 導入所有的設定,僅僅只是重新定義了產品模式下需要特殊處理的設置。 在這個案例中,DEBUG 被設置為False,但是我們已經對產品模式設置了不同的數據庫訪問參數。 (后者將向你演示你可以重新定義 任何 設置,并不只是象 DEBUG 這樣的基本設置。)

最終,最精簡的達到兩個配置環境設定的方案是使用一個配置文件,在此配置文件中根據不同的環境進行設置。 一個達到這個目的的方法是檢查當前的主機名。 例如:

 

 
  1. # settings.py 
  2.  
  3. import socket 
  4.  
  5. if socket.gethostname() == 'my-laptop'
  6. DEBUG = TEMPLATE_DEBUG = True 
  7. else
  8. DEBUG = TEMPLATE_DEBUG = False 
  9.  
  10. # ... 

在這里,我們從python標準庫導入了socket 模塊,使用它來檢查當前系統的主機名。 我們可以通過檢查主機名來確認代碼是否運行在產品服務器上。

一個關鍵是配置文件僅僅是包含python代碼的文件。你可以從其他文件導入這些python代碼,可以通過這些代碼執行任意的邏輯判斷等操作。 如果你打算按照這種方案走下去,請確定這些配置文件中的代碼是足夠安全(防彈)的。 如果這個配置文件拋出任何的異常,Django都有可能會發生很嚴重的崩潰。

重命名settings.py

隨便將你的settings.py重命名為settings_dev.py或settings/dev.py或foobar.py,Django 并不在乎你的配置文件取什么名字,只要你告訴它你使用的哪個配置文件就可以了。

但是如果你真的重命名了由django-admin.py startproject 命令創建的settings.py文件,你會發現manage.py會給出一個錯誤信息說找不到配置文件。 那是由于它嘗試從這個文件中導入一個叫做settings的模塊,你可以通過修改manage.py 文件,將 import settings 語句改為導入你自己的模塊,或者使用django-admin.py而不是使用manage.py,在后一種方式中你需要設置 DJANGO_SETTINGS_MODULE 環境變量為你的配置文件所在的python 路徑.(比如'mysite.settings')。

DJANGO_SETTINGS_MODULE

通過這種方式的代碼改變后,本章的下一部分將集中在對具體環境(比如Apache)的發布所需要的指令上。 這些指令針對每一種環境都不同,但是有一件事情是相同的。 在每一種環境中,你都需要告訴Web服務器你的DJANGO_SETTINGS_MODULE是什么,這是你的Django應用程序的進入點。 DJANGO_SETTINGS_MODULE指向你的配置文件,在你的配置文件中指向你的ROOT_URLCONF,在ROOT_URLCONF中指向了你的視圖以及其他的部分。

DJANGO_SETTINGS_MODULE是你的配置文件的python的路徑 比如,假設mysite是在你的Python路徑中,DJANGO_SETTINGS_MODULE對于我們正在進行的例子就是'mysite.settings'。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品91久久久久久| 一区二区三区亚洲| 国产精品日韩久久久久| 国产精品一区二区三| 欧美一级电影免费在线观看| 欧美日韩免费一区| 亚洲黄色在线看| 青青草国产精品一区二区| 国产精品精品视频一区二区三区| 亚洲一区二区三区乱码aⅴ| 色综合视频一区中文字幕| 国产精品视频久| 亚洲r级在线观看| 日韩有码片在线观看| 日韩国产高清污视频在线观看| 国产精品99一区| 7777免费精品视频| 亚洲欧美日韩在线一区| 亚洲精品在线不卡| 久久影视电视剧凤归四时歌| 久久久成人的性感天堂| 成人信息集中地欧美| 欧美成人午夜影院| 亚洲国产另类 国产精品国产免费| 日韩精品久久久久久久玫瑰园| 日韩免费中文字幕| 免费99精品国产自在在线| 国产精品r级在线| 亚洲欧美日韩在线高清直播| 久热精品视频在线观看一区| 欧美www在线| 在线日韩av观看| 欧美中文在线免费| 91久久嫩草影院一区二区| 日韩精品久久久久久久玫瑰园| 久久6免费高清热精品| 亚洲精品日韩av| 亚洲第五色综合网| 欧美日韩亚洲精品内裤| 欧美视频在线免费| 在线观看欧美视频| 成人中文字幕+乱码+中文字幕| 综合136福利视频在线| 亚洲人成网站999久久久综合| 2019中文字幕免费视频| 久久久人成影片一区二区三区观看| 久久精品国产视频| 国产精品久久久久久av福利软件| 亚洲精品国产精品国自产观看浪潮| 久久久人成影片一区二区三区观看| 成人黄色免费网站在线观看| 亚洲午夜色婷婷在线| 黄色成人av在线| 92国产精品久久久久首页| 欧美体内谢she精2性欧美| 欧美激情视频三区| 国产亚洲精品91在线| 日本免费一区二区三区视频观看| 欧美裸身视频免费观看| 国产亚洲精品综合一区91| 久久国产一区二区三区| 69久久夜色精品国产69乱青草| 九九热这里只有在线精品视| 亚洲欧洲在线看| 久久精品91久久香蕉加勒比| 精品国产91久久久久久老师| 91麻豆桃色免费看| 久久久久久久一区二区| 久久久久久久久久久亚洲| 性欧美办公室18xxxxhd| 精品动漫一区二区| 亚洲色图15p| 亚洲精品午夜精品| 精品久久久久久国产91| 欧美俄罗斯乱妇| 欧美高清视频在线播放| 国产欧美一区二区| 欧美激情亚洲自拍| 久久久久久免费精品| 亚洲一区二区免费| 久久人人爽人人爽人人片av高清| 粉嫩老牛aⅴ一区二区三区| 亚洲欧美成人一区二区在线电影| 中文字幕日韩欧美| 欧美成人精品激情在线观看| 精品视频—区二区三区免费| 日韩高清免费观看| 亚洲人成网7777777国产| 45www国产精品网站| 777午夜精品福利在线观看| 日韩欧美国产黄色| 97国产成人精品视频| 色综合久久久久久中文网| 欧美色视频日本高清在线观看| 91久热免费在线视频| 亚洲国产精品va在线观看黑人| 亚洲精品久久久久久下一站| xxxxx91麻豆| 国产精品高清免费在线观看| 日韩精品在线免费| 日韩在线资源网| 日韩hd视频在线观看| 亚洲黄页视频免费观看| 亚洲伊人久久大香线蕉av| 国产精品欧美日韩一区二区| 91国产视频在线| 亚洲精品日韩欧美| 欧美一级大片在线免费观看| 亚洲理论在线a中文字幕| 人体精品一二三区| 成人a级免费视频| 欧美在线观看网址综合| 91亚洲国产成人精品性色| 亚洲热线99精品视频| 欧亚精品中文字幕| 久久久爽爽爽美女图片| 国产香蕉一区二区三区在线视频| 欧美性生交xxxxx久久久| 97国产suv精品一区二区62| 国产精品视频最多的网站| 欧美精品18videos性欧美| 欧洲成人性视频| 欧美国产日韩在线| 日韩中文字幕在线免费观看| 最近2019中文字幕第三页视频| 国产日韩中文在线| www.xxxx精品| 欧美国产亚洲视频| 亚洲国产精品久久91精品| 亚洲精品日韩激情在线电影| 国产精品久久久久不卡| 亚洲国产精品va在线看黑人| 日韩激情视频在线播放| 国产成人精品一区二区在线| 久久这里只有精品视频首页| 欧美日韩亚洲精品一区二区三区| 欧美电影免费在线观看| 色综久久综合桃花网| 日韩激情av在线免费观看| 欧美一区三区三区高中清蜜桃| 日韩欧美精品在线观看| 久久这里只有精品视频首页| 日韩精品中文字幕久久臀| 欧美一级高清免费播放| 亚洲综合一区二区不卡| 亚洲成**性毛茸茸| 久久国产精品视频| 狠狠躁夜夜躁人人躁婷婷91| 国产视频精品自拍| 日韩美女在线观看| 国产成人综合精品| 久久久精品中文字幕| 亚洲精品动漫久久久久| 亚洲天堂成人在线| 亚洲午夜精品久久久久久性色| 5566日本婷婷色中文字幕97| 欧美xxxx18国产| 欧美极品第一页| 日韩精品视频观看| 在线观看欧美视频| 亚洲片av在线| 亚洲精品成a人在线观看| 久久久国产视频91| 国外成人性视频|