在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編寫網(wǎng)頁爬蟲腳本并實(shí)現(xiàn)APScheduler調(diào)度
爬蟲爬的頁面是京東的電子書網(wǎng)站頁面,每天會(huì)更新一些免費(fèi)的電子書,爬蟲會(huì)把每天更新的免費(fèi)的書名以第一時(shí)間通過郵件發(fā)給我,通知我去下載2014-07-07
利用Python的Twisted框架實(shí)現(xiàn)webshell密碼掃描器的教程
這篇文章主要介紹了利用Python的Twisted框架實(shí)現(xiàn)webshell密碼掃描器的教程,用到了Twisted框架的異步通信機(jī)制,需要的朋友可以參考下2015-04-04
詳解Python中字符串前“b”,“r”,“u”,“f”的作用
這篇文章主要介紹了Python中字符串前“b”,“r”,“u”,“f”的作用,感興趣的朋友跟隨小編一起看看吧2019-12-12
畫pytorch模型圖,以及參數(shù)計(jì)算的方法
今天小編就為大家分享一篇畫pytorch模型圖,以及參數(shù)計(jì)算的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python使用psutil對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控
psutil庫可以實(shí)時(shí)獲取系統(tǒng)的一些信息,這樣就可以達(dá)到實(shí)時(shí)監(jiān)控系統(tǒng)的目的。本文對(duì)詳細(xì)講解了ython使用psutil對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控,感興趣的朋友可以看一看2021-08-08
Python使用colorlog實(shí)現(xiàn)控制臺(tái)管理日志多種顏色顯示
colorlog 是一個(gè) Python 日志庫,它可以讓你在控制臺(tái)中以彩色的方式顯示日志消息,使得日志更易于閱讀和理解,下面就跟隨小編一起來看看它的具體應(yīng)用吧2024-03-03
Python3中zip()函數(shù)知識(shí)點(diǎn)小結(jié)
本文主要介紹了Python3中zip()函數(shù)知識(shí)點(diǎn)小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
python 實(shí)現(xiàn)GUI(圖形用戶界面)編程詳解
今天小編就為大家分享一篇python 實(shí)現(xiàn)GUI(圖形用戶界面)編程詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07
anaconda中安裝的python環(huán)境中沒有pip3的問題及解決
這篇文章主要介紹了anaconda中安裝的python環(huán)境中沒有pip3的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
python celery beat實(shí)現(xiàn)定時(shí)任務(wù)的示例代碼
在日常工作中,我們常常會(huì)用到需要周期性執(zhí)行的任務(wù),本文主要介紹了python celery beat實(shí)現(xiàn)定時(shí)任務(wù)的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03

