国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python的Django框架中settings文件的部署建議

2019-11-25 17:20:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

django在一個(gè)項(xiàng)目的目錄結(jié)構(gòu)劃分方面缺乏必要的規(guī)范,因此不同人的項(xiàng)目組織形式也千奇百怪,而且也很難說(shuō)誰(shuí)的做法就比較好。我根據(jù)自己的項(xiàng)目組織習(xí)慣,發(fā)布了一個(gè)項(xiàng)目dj-scaffold。

前些天在reddit上為我的項(xiàng)目dj-scaffold打了個(gè)“廣告”(見(jiàn):http://redd.it/kw5d4)。不想評(píng)價(jià)甚糟,甚至差點(diǎn)被打成負(fù)分。其中更也人將這個(gè)項(xiàng)目說(shuō)的一文不值。面對(duì)負(fù)面聲音雖然會(huì)有些不爽,但其中的建設(shè)性意見(jiàn)還是需要聽(tīng)取的,至于那些純屬個(gè)人偏好部分就自動(dòng)過(guò)濾了。

在談及settings文件如何組織時(shí),coderanger建議參考The Best (and Worst) of Django中的做法。文中的主要觀點(diǎn)是開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境的配置都需要放到VCS中進(jìn)行版本控制。參考文中的做法,我對(duì)settings模塊做了部分調(diào)整。注:代碼 https://github.com/vicalloy/dj-scaffold/tree/master/dj_scaffold/conf/prj/sites/settings
local_settings的弊病

為將項(xiàng)目的默認(rèn)配置和本地配置區(qū)分開(kāi),最常用的做法是增加一個(gè)local_settings.py文件,并在settings文件的最后對(duì)該文件進(jìn)行import。

try: from local_settings import *except: pass 

由此引發(fā)的問(wèn)題是你不能對(duì)local_settings.py進(jìn)行版本控制,部署環(huán)境的配置萬(wàn)一丟失將難以找回。
解決方案

針對(duì)該問(wèn)題,建議的解決方案如下
合理的配置文件組織方式

復(fù)制代碼 代碼如下:
|~settings/
| |-__init__.py
| |-base.py   #默認(rèn)配置信息
| |-dev.py    #開(kāi)發(fā)環(huán)境的配置
| |-local.sample    #本地的擴(kuò)展配置在dev和production的最后進(jìn)行import
| |-pre.sample    #設(shè)置當(dāng)前使用的配置為生產(chǎn)環(huán)境還是開(kāi)發(fā)環(huán)境
| `-production.py    #生產(chǎn)環(huán)境的配置
 

使用方式

<strong>DJANGO_SETTINGS_MODULE</strong> 

django的admin腳本提供了settings參數(shù)用于指定當(dāng)前使用的配置文件

django-admin.py shell --settings=settings.dev 

在wsgi腳本中則可直接設(shè)置需要使用的settings

deploy.wsgios.environ['DJANGO_SETTINGS_MODULE'] = settings.production 

簡(jiǎn)化參數(shù)

當(dāng)然,如果每次使用django-admin.py的時(shí)候都要帶上settings參數(shù)還是非常惱人,所以推薦的做法是在pre.py中配置自己所需要使用的配置文件。

SETTINGS = 'production' #dev 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 塘沽区| 宜兰县| 驻马店市| 长阳| 乾安县| 瑞安市| 鸡东县| 苏尼特右旗| 张家界市| 专栏| 兴化市| 乐清市| 聊城市| 英山县| 嘉禾县| 方城县| 句容市| 安吉县| 故城县| 贵定县| 通城县| 孟村| 深圳市| 宝鸡市| 大田县| 凯里市| 灵山县| 皋兰县| 商丘市| 公安县| 安岳县| 鄯善县| 苏州市| 富阳市| 通道| 盱眙县| 铜川市| 定兴县| 大英县| 房产| 阳城县|