Python Django-如何在应用程序中共享配置常量?
在django应用程序中的各种代码文件之间共享某些常量有时是有益的 示例:Python Django-如何在应用程序中共享配置常量?,python,django,coding-style,constants,Python,Django,Coding Style,Constants,在django应用程序中的各种代码文件之间共享某些常量有时是有益的 示例: -各种模块\命令等中使用的转储文件的名称或位置 -整个应用程序的调试模式打开\关闭 -特定于站点的配置 做这件事的优雅\python方法是什么?创建一个配置模块 Configuration.py:(在项目/应用程序源目录中) 从其他源文件导入它: from Configuration import MYCONST1,MYCONST2 ... 已经有一个项目范围的settings.py文件。这是放置您自己的自定义设置的最
-各种模块\命令等中使用的转储文件的名称或位置
-整个应用程序的调试模式打开\关闭
-特定于站点的配置
做这件事的优雅\python方法是什么?创建一个配置模块 Configuration.py:(在项目/应用程序源目录中) 从其他源文件导入它:
from Configuration import MYCONST1,MYCONST2
...
已经有一个项目范围的
settings.py
文件。这是放置您自己的自定义设置的最佳位置。您可以在设置中提供设置
MY_SETTING = 'value'
在任何模块中,您都可以像
from django.conf import settings
settings.MY_SETTING
Django应用程序(或多或少)是可插拔的。因此,你不应该为了参数化你想要的东西而侵入应用程序的代码(如果你不得不这么做的话,那将是一团糟!想象一下你想升级你在互联网上下载的应用程序……你必须重新侵入新版本的代码?!?)
因此,您不应该在应用程序级别添加应用程序级别的设置,而应该将它们放在项目范围内的某个位置
settings.py
事实上,这就是我特别询问应用程序的原因scope@Jonathan:您正在查找特定于应用程序的设置文件吗?以后可以在项目设置文件中覆盖的内容?@Jonathan,您可以/应该将特定于应用程序的设置放在settings.py中,最终项目是在服务器上运行的,而不是应用程序本身
from django.conf import settings
settings.MY_SETTING