动态引用变量

2024-09-29 23:17:53 发布

您现在位置:Python中文网/ 问答频道 /正文

上下文:我正在创建一个Django管理命令,该命令将接受位置参数。此参数是一个位置。我的目标是使用位置值来引用相应的变量

我有一个名为Boston_webhook的全局变量。这是一个简单的字符串,其中包含一个长URL,它只是一个MSTeam webhook

我还有一个名为Budapest_webhook的全局变量,它包含相同的数据类型,但它引用了与布达佩斯位置相关的webhook

在我的脚本中,必须定义一个连接器变量才能将消息发送到正确的位置

myTeamsMessage = pymsteams.connectorcard()

如果有人输入了python manage.py report Boston,我想将其插入连接器参数,但我不确定如何动态引用变量

当位置==“Boston”使用某种连接时,是否可以引用Boston_webhook

myTeamsMessage = pymsteams.connectorcard(location + _webhook)这样的东西是理想的

我希望避免使用条件,因为它是不可伸缩的。我需要能够添加位置到数据库中,而不必更改代码


Tags: django字符串命令url目标参数webhookboston
2条回答

使用字典将webhooks的名称映射到webhooks本身,如下所示

webhooks = {
    "Boston": "boston url",
    "Budapest": "budapest url"
}

现在您可以像这样引用您的Webhook

# this will give you Boston webhook
myTeamsMessage = pymsteams.connectorcard(location + webhooks["Boston"])

这是最简单的方法。我认为最好只为该类创建新类,并使用方法将该类转换为字符串,但如果不需要更复杂的内容,这就足够了

我能够确定一个合适的解决方案

myTeamsMessage = pymsteams.connectorcard(webhooks["{}".format(location)])

其中Webhook存储在按位置名称键入的字典中。 i、 e:

webhooks = {'Boston':'www.url.com',
            'Budapest':'www.url1.com',
           }

谢谢大家的推荐

相关问题 更多 >

    热门问题