在Django中存储常量的最佳方法

时间:2018-01-11 11:43:10

标签: python django constants pep8 pycodestyle

我有一个Django应用程序并使用Gi​​tHub进行CI。 现在我遇到的问题是,每次合并时,我都会遇到与常量导入的合并冲突。另外开发人员导入的常量经常变化,我也是如此。 目录树看起来像这样:

main_app > 
...main_app 
...api 
...aws_lambda 
...billing 
...utils 
...and many other directories

每个子应用程序都有自己的文件constants.py。常量导入看起来像这样:

from utils.constants import const1, const2, const3, const4 
from billing.constants import const5, const6

我将来如何重写这些导入以减少合并冲突? 有没有比下面更好的方式?

import utils.constants as utils_const
import billing.constants as billing_const
...
var = utils_const.const1

在Django app中存储常量的最佳做法是什么?

3 个答案:

答案 0 :(得分:5)

对于仅由一个模块使用的常量,只需在该模块中定义它们即可。对于整个项目使用的常量,约定是将它们添加到您的设置文件中。对于整个单个应用程序中使用的常量,我认为你的每个应用程序有一个constants.py的方法很好。

答案 1 :(得分:-1)

如果某些应用程序在不同的Django项目中共享,则设置中的存储常量存在问题。

在这种情况下,从我的角度来看,建议添加一个常量应用程序。此外,您还将获得django admin在配置上的优势

答案 2 :(得分:-2)

启动__init__.py文件并将所有变量导入其中。然后,您可以根据需要轻松获取变量。