【问题标题】:Using variables as dict keys in django project settings在 django 项目设置中使用变量作为字典键
【发布时间】:2019-05-20 08:22:20
【问题描述】:

在 django 项目 settings.py 中使用变量作为字典键是否安全且正确?更改名称的机会很小,但将来可能会发生。

例如,我现在有这样的东西:

EXAMPLE_IDS = {
    'name1': 1,
    'name2': 2,
    'name3': 3,
}

我想把它改成这样,这样我就可以独立使用这些名称了:

EXAMPLE_NAME_1 = 'name1'
EXAMPLE_NAME_2 = 'name2'
EXAMPLE_NAME_3 = 'name3'

EXAMPLE_IDS = {
    EXAMPLE_NAME_1: 1,
    EXAMPLE_NAME_2: 2,
    EXAMPLE_NAME_3: 3,
}

此更改是否会在将来对我的项目产生任何问题?或者,它是更好的解决方案吗?

【问题讨论】:

  • 更好的解决方案是什么?你这样做是为了解决什么问题?
  • 也许你可以定义另一个文件叫做 constants.py 什么的,并在这个文件中提到所有这些东西。
  • @Sayse,我想在项目中消除很多魔术字符串。另外,我想在某些地方单独使用名称。我认为这可能是满足我需求的一个很好的解决方案。我只是想确保这不是一种不好的做法或可能导致严重错误或类似情况的事情。
  • 这取决于,这听起来不像那些魔术字符串是设置。如上所述,常量文件可能是更好的选择。
  • 好的,谢谢你们。我会考虑为此创建一个单独的文件。

标签: python django django-settings


【解决方案1】:

首先,此更改不会对您的项目产生任何问题。这是您可以继续前进的方式。

为了更好的可读性。将这些变量存储在一个单独的文件中,比如 config.py,当您需要更改任何内容时,您可以在那里进行更改,并且会在任何地方反映出来。

P.S:不要忘记从该文件中导入这些变量

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    • 2018-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多