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

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

解决方案

针对该问题,建议的解决方案如下

合理的配置文件组织方式

复制代码 代码如下:|~settings/

| |-__init__.py

| |-base.py #默认配置信息

| |-dev.py #开发环境的配置

| |-local.sample #本地的扩展配置在dev和production的最后进行import

| |-pre.sample #设置当前使用的配置为生产环境还是开发环境

| `-production.py #生产环境的配置

使用方式 DJANGO_SETTINGS_MODULE

django的admin脚本提供了settings参数用于指定当前使用的配置文件 django-admin.py shell --settings=settings.dev

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

os.environ['DJANGO_SETTINGS_MODULE'] = settings.production

简化参数

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

import python settings from_Python的Django框架中settings文件的部署建议相关推荐

  1. python的setting怎么找_Python的Django框架中settings文件的部署建议

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

  2. Python的Django框架中forms表单类的使用方法详解2

    用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...

  3. mysql 中的neq_mysql中neq使用Python的Django框架中的压缩组件Django Compressor_MySQL

    为了加快网站的加载速度,我们通常要多js和css进行压缩处理.这些js和css的压缩工作如果都手动处理,费时费力. <mysql中neq使用Python的Django框架中的压缩组件Django ...

  4. Python学习笔记--10.Django框架快速入门之后台管理admin(书籍管理系统)

    Python学习笔记--10.Django框架快速入门之后台管理 一.Django框架介绍 二.创建第一个Django项目 三.应用的创建和使用 四.项目的数据库模型 ORM对象关系映射 sqlite ...

  5. ajax校验的优点,django框架中ajax的使用及避开CSRF 验证的方式详解

    本文实例讲述了django框架中ajax的使用及避开CSRF 验证的方式.分享给大家供大家参考,具体如下: ajax(Asynchronous Javascript And Xml) 异步javasc ...

  6. Windows上python开发--2安装django框架

    Windows上python开发--2安装django框架 分类: 服务器后台开发2014-05-17 21:22 2310人阅读 评论(2) 收藏 举报 python django 上一篇文章中讲了 ...

  7. 基于python摄影作品展示网站django框架计算机毕业设计源码+系统+数据库+lw文档+调试部署

    基于python摄影作品展示网站django框架计算机毕业设计源码+系统+数据库+lw文档+调试部署 基于python摄影作品展示网站django框架计算机毕业设计源码+系统+数据库+lw文档+调试部 ...

  8. python日期选择框_Python的Django框架中设置日期和字段可选的方法

    设置字段可选 在摆弄了一会之后,你或许会发现管理工具有个限制:编辑表单需要你填写每一个字段,然而在有些情况下,你想要某些字段是可选的. 举个例子,我们想要Author模块中的email字段成为可选,即 ...

  9. python基础教程:Django框架的中的setting.py文件说明详解

    这篇文章主要介绍了Django框架的中的setting.py文件说明详解,这个文件包含了所有有关这个Django项目的配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.加载数据库,数据库 ...

最新文章

  1. [ZZ]Map/Reduce hadoop 细节
  2. (转)一个as3写的减速效果
  3. 微信翻译生日快乐的代码_微信「隐藏彩蛋」,你发现了没?
  4. go web本地化资源
  5. 二叉树——新二叉树(洛谷 P1305)
  6. 2017-05-24
  7. join丢失数据_15、Hive数据倾斜与解决方案
  8. 分享6个国内优秀Java后台管理框架的开源项目,建议收藏!
  9. uniapp连接蓝牙电子秤
  10. 《JavaScript权威指南第7版》第3章 类型、值和变量
  11. 大数据GIS系列(2)——空间大数据处理与分析案例
  12. 软件项目管理测试题----含答案
  13. Java集成建行龙支付接口(详细)
  14. html文件超链接打不开,Excel中出现超链接打不开的解决方法
  15. 超 82% 的 GitHub 代码是重复的,还不是 Forked 而来。
  16. 论文投稿指南——中国(中文EI)期刊推荐(第6期)
  17. 健身房小姐姐爆满了,我只用PR做了这一件事!
  18. 四、转换成BCNF的保持无损连接的分解
  19. iostat命令详解指标分析
  20. 树莓派3b安装新系统的步骤和一些问题

热门文章

  1. c调用python gensim包_Jupyter Notebooks嵌入Excel并使用Python替代VBA宏
  2. 火焰传感器感应有火亮灯代码_智能无线感应灯火了,光感人感2种传感器感应,做照明品牌的几光...
  3. linux 中的时间戳功能,Linux中时间戳取证研究
  4. oracle form中实现隐藏,Oracle Form数据块实现同时只有一个人锁定修改数据
  5. 数控机床需要c语言程序吗,数控机床编程与操作--详细介绍
  6. 前端性能优化篇——浏览器http同域名并发请求对限制
  7. C++中指针与引用的区别
  8. php替换算法,PHP实现各种经典算法 || 我们的爱的博客
  9. 【OpenCV 例程200篇】73. 二维连续傅里叶变换
  10. 【OpenCV 例程200篇】20. 图像的按位运算