• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python的Django框架中settings文件的部署建议

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

作者:goldensun 字体:[增加 减小] 来源:互联网

goldensun 通过本文主要向大家介绍了django settings,django settings.py,python django框架,python安装django,python.django等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

django在一个项目的目录结构划分方面缺乏必要的规范,因此不同人的项目组织形式也千奇百怪,而且也很难说谁的做法就比较好。我根据自己的项目组织习惯,发布了一个项目dj-scaffold。

前些天在reddit上为我的项目dj-scaffold打了个“广告”(见:http://redd.it/kw5d4)。不想评价甚糟,甚至差点被打成负分。其中更也人将这个项目说的一文不值。面对负面声音虽然会有些不爽,但其中的建设性意见还是需要听取的,至于那些纯属个人偏好部分就自动过滤了。

在谈及settings文件如何组织时,coderanger建议参考The Best (and Worst) of Django中的做法。文中的主要观点是开发环境和生产环境的配置都需要放到VCS中进行版本控制。参考文中的做法,我对settings模块做了部分调整。注:代码 https://github.com/vicalloy/dj-scaffold/tree/master/dj_scaffold/conf/prj/sites/settings
local_settings的弊病

为将项目的默认配置和本地配置区分开,最常用的做法是增加一个local_settings.py文件,并在settings文件的最后对该文件进行import。

try:
 from local_settings import *
except:
 pass
 
</div>

由此引发的问题是你不能对local_settings.py进行版本控制,部署环境的配置万一丢失将难以找回。
解决方案

针对该问题,建议的解决方案如下
合理的配置文件组织方式

| |-__init__.py
| |-base.py   #默认配置信息
| |-dev.py    #开发环境的配置
| |-local.sample    #本地的扩展配置在dev和production的最后进行import
| |-pre.sample    #设置当前使用的配置为生产环境还是开发环境
| `-production.py    #生产环境的配置
 
</div>

使用方式

<strong>DJANGO_SETTINGS_MODULE</strong>
 
</div>

django的admin脚本提供了settings参数用于指定当前使用的配置文件

django-admin.py shell --settings=settings.dev
 
</div>

在wsgi脚本中则可直接设置需要使用的settings

deploy.wsgi
os.environ['DJANGO_SETTINGS_MODULE'] = settings.production
 
</div>

简化参数

当然,如果每次使用django-admin.py的时候都要带上settings参数还是非常恼人,所以推荐的做法是在pre.py中配置自己所需要使用的配置文件。

SETTINGS = 'production' #dev
 
</div>

</div>

您可能想查找下面的文章:

  • django开发之settings.py中变量的全局引用详解
  • Python的Django框架中settings文件的部署建议

相关文章

  • 浅析Python中将单词首字母大写的capitalize()方法
  • python字典基本操作实例分析
  • python实现去除下载电影和电视剧文件名中的多余字符的方法
  • Python实现类继承实例
  • python递归查询菜单并转换成json实例
  • 在Python的web框架中中编写日志列表的教程
  • Python中的__SLOTS__属性使用示例
  • python简单程序读取串口信息的方法
  • 跟老齐学Python之编写类之二方法
  • Python Paramiko模块的安装与使用详解

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python冒泡排序简单实现方法
    • 删除目录下相同文件的python代码(逐级优化)
    • Python求算数平方根和约数的方法汇总
    • Python函数式编程指南(四):生成器详解
    • Swift 3.0在集合类数据结构上的一些新变化总结
    • Python Web开发模板引擎优缺点总结
    • 零基础写python爬虫之抓取百度贴吧代码分享
    • Python selenium 父子、兄弟、相邻节点定位方式详解
    • 更改Python命令行交互提示符的方法
    • python 循环while和for in简单实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有