提问人:Wils 提问时间:5/3/2019 最后编辑:Wils 更新时间:5/6/2019 访问量:220
变量 django 模板中的变量 [已关闭]
Variable Variable in django template [closed]
问:
view.py
variable = 'amount'
amount = 200
print(variable) #actual: 'amount' expected: 200
在这种情况下,是否可以像PHP一样使用变量变量? 在php中,我可以做
$variable = 'amount';
$amount = 200;
echo $$variable;
我知道这可能不是一个好的做法,但有时它可以提供非常强大的功能。
谢谢。
答:
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 语言的一致性。
评论
Variable Variable
name = 'John'
variable[name] = name
my_vars = {"name": "John", ...}
my_vars[variable_name]