变量 django 模板中的变量 [已关闭]

Variable Variable in django template [closed]

提问人:Wils 提问时间:5/3/2019 最后编辑:Wils 更新时间:5/6/2019 访问量:220

问:


想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。

4年前关闭。

view.py

variable = 'amount'
amount = 200
print(variable) #actual: 'amount' expected: 200

在这种情况下,是否可以像PHP一样使用变量变量? 在php中,我可以做

$variable = 'amount';
$amount = 200;
echo $$variable;

我知道这可能不是一个好的做法,但有时它可以提供非常强大的功能。

谢谢。

python django 变量变量

评论

1赞 furas 5/3/2019
我不明白你的意思.但是如果你想使用字符串来创建变量,那么使用字典 -Variable Variablename = 'John' variable[name] = name
0赞 Robin Zigmond 5/3/2019
您可以使用字典:使用任意数量的键,并使用my_vars = {"name": "John", ...}my_vars[variable_name]
0赞 Wils 5/3/2019
这是使用变量作为变量名称的概念,在本例中,$$variable_name 将是 John
0赞 furas 5/3/2019
使用字典。这是优选的方法。
0赞 Sayse 5/3/2019
你到底想做什么?

答:

1赞 Óscar López 5/3/2019 #1

Python 和 Django 的模板都不支持变量......幸运。这是PHP中一个令人困惑的语言功能,没有它我们更好 - 正如你所说,使用它们甚至不是一个好习惯

把它看作是PHP中的一个坏习惯,你现在要把它抛在脑后,即使在PHP中,也总是有更好的选择。也许当时有人认为这是一个好主意,但现代最佳实践表明并非如此。

如果您觉得需要有关变量名称的动态行为,请考虑改用字典,有关详细信息,请参阅此帖子

评论

0赞 Wils 5/3/2019
那么,使用 List 是唯一的出路吗?
2赞 Óscar López 5/3/2019
更像是字典。
0赞 Sayse 5/3/2019
OP 询问的是 Django 模板,它可能是 django 模板语言,而不是 python
0赞 Óscar López 5/3/2019
@Sayse 根据文档,Django 模板语言也不支持变量变量。如果是这样,我会感到惊讶,它会违背与 Django 中发现的 Python 语言的一致性。