在Python的web框架中配置app的教程
有了Web框架和ORM框架,我們就可以開始裝配App了。
通常,一個(gè)Web App在運(yùn)行時(shí)都需要讀取配置文件,比如數(shù)據(jù)庫的用戶名、口令等,在不同的環(huán)境中運(yùn)行時(shí),Web App可以通過讀取不同的配置文件來獲得正確的配置。
由于Python本身語法簡單,完全可以直接用Python源代碼來實(shí)現(xiàn)配置,而不需要再解析一個(gè)單獨(dú)的.properties或者.yaml等配置文件。
默認(rèn)的配置文件應(yīng)該完全符合本地開發(fā)環(huán)境,這樣,無需任何設(shè)置,就可以立刻啟動(dòng)服務(wù)器。
我們把默認(rèn)的配置文件命名為config_default.py:
# config_default.py configs = { 'db': { 'host': '127.0.0.1', 'port': 3306, 'user': 'www-data', 'password': 'www-data', 'database': 'awesome' }, 'session': { 'secret': 'AwEsOmE' } }
上述配置文件簡單明了。但是,如果要部署到服務(wù)器時(shí),通常需要修改數(shù)據(jù)庫的host等信息,直接修改config_default.py不是一個(gè)好辦法,更好的方法是編寫一個(gè)config_override.py,用來覆蓋某些默認(rèn)設(shè)置:
# config_override.py configs = { 'db': { 'host': '192.168.0.100' } }
把config_default.py作為開發(fā)環(huán)境的標(biāo)準(zhǔn)配置,把config_override.py作為生產(chǎn)環(huán)境的標(biāo)準(zhǔn)配置,我們就可以既方便地在本地開發(fā),又可以隨時(shí)把應(yīng)用部署到服務(wù)器上。
應(yīng)用程序讀取配置文件需要優(yōu)先從config_override.py讀取。為了簡化讀取配置文件,可以把所有配置讀取到統(tǒng)一的config.py中:
# config.py configs = config_default.configs try: import config_override configs = merge(configs, config_override.configs) except ImportError: pass
這樣,我們就完成了App的配置。
相關(guān)文章
Python釘釘報(bào)警及Zabbix集成釘釘報(bào)警的示例代碼
這篇文章主要介紹了Python釘釘報(bào)警及Zabbix集成釘釘報(bào)警的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08使用Djongo模塊在Django中使用MongoDB數(shù)據(jù)庫
Django框架為我們提供了簡潔方便的ORM模型供我們對(duì)數(shù)據(jù)庫進(jìn)行各種操作,但是這個(gè)“數(shù)據(jù)庫”卻并不包括NoSQL的典型——MongoDB。不少Django初學(xué)者也會(huì)到處詢問,如何才能在Django中使用MongoDB。本文將介紹使用Djongo來在Django中集成MongoDB數(shù)據(jù)庫2021-06-06pytest?用例執(zhí)行失敗后其他不再執(zhí)行
本文主要介紹了pytest?用例執(zhí)行失敗后其他不再執(zhí)行,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Python實(shí)現(xiàn)新型冠狀病毒傳播模型及預(yù)測(cè)代碼實(shí)例
在本篇文章里小編給大家整理的是關(guān)于Python實(shí)現(xiàn)新型冠狀病毒傳播模型及預(yù)測(cè)代碼內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2020-02-02Python庫中可以操作JavaScript盤點(diǎn)解析
這篇文章主要為大家介紹了Python庫之可以操作JavaScript盤點(diǎn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Python時(shí)間處理模塊Time和DateTime
這篇文章主要為大家介紹了Python時(shí)間處理模塊Time和DateTime使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Python獲取當(dāng)前公網(wǎng)ip并自動(dòng)斷開寬帶連接實(shí)例代碼
這篇文章主要介紹了Python獲取當(dāng)前公網(wǎng)ip并自動(dòng)斷開寬帶連接實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01Python 中Django驗(yàn)證碼功能的實(shí)現(xiàn)代碼
驗(yàn)證碼是一種區(qū)分用戶是計(jì)算機(jī)還是人的公共全自動(dòng)程序,很多用戶登錄和注冊(cè)系統(tǒng)都提供了圖形驗(yàn)證碼功能。這篇文章主要介紹了Python 中Django驗(yàn)證碼功能的實(shí)現(xiàn)代碼,需要的朋友可以參考下2019-06-06