6

我有一个 Django 应用程序并使用 GitHub 进行 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 应用程序中存储常量的最佳做法是什么?

4

3 回答 3

16

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

于 2018-01-11T12:17:44.203 回答
0

您也可以将它们放在应用程序中__init__.py,少一个文件来阅读!

然后用作:

# Many constants:
import utils

print(utils.const2, utils.const3, utils.const4)


# Single constant (as the code base grows, this may become tiresome)
from billing import const1

print(const1)

您也可以将它们放入,apps.py因为该文件也已加载,并且从语义上讲它用于配置应用程序。

于 2022-01-30T19:08:39.003 回答
-2

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

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

于 2020-06-04T12:38:19.250 回答