rst*_*t85 8 python django elasticsearch
我试图使用以下划线字符开头的键来访问dict的元素.例如:
my_dict = {"_source": 'xyz'}
我试图在Django模板中访问它们.显然我意识到你不能从Django模板访问下划线的python变量(因为它们在Python中被认为是私有的),但这是一个dict对象,其中任何不可变对象都是有效的键.
我无法使用{{my_dict._source}}在Django模板中访问上述dict,所以我假设Django正在阻止它.那是准确的吗?
我有点希望Django用变量开始做一些事情,这些变量以下划线开头,就像仍在进行dict查找(第一件事是应该尝试)但是拒绝进行属性查找,方法调用和列表索引查找,因为强调的前缀变量将是无效的.我很快就失去了希望.
为了记录,我知道有人会建议只更改dict,但这实际上是在ElasticSearch实例上执行REST API请求时rawes库返回的多级字典.
Tim*_*ony 15
文档提到你不能用变量以变量开头:
变量名必须包含任何字母(AZ),任何数字(0-9),下划线(但它们不能以下划线开头)或点.
@register.filter(name='get')
def get(d, k):
return d.get(k, None)
Run Code Online (Sandbox Code Playgroud)
和
{{ my_dict|get:"_my_key" }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6108 次 |
| 最近记录: |