在Django模板中使用前导下划线访问dict元素
我试图使用以下划线字符开头的键来访问dict的元素.例如: my_dict = {“_ source”:’xyz’} 我试图在Django模板中访问它们.显然我意识到你不能从Django模板访问下划线的python变量(因为它们在Python中被认为是私有的),但这是一个dict对象,其中任何不可变对象都是有效的键. 我无法使用{{my_dict._source}}在Django模板中访问上述dict,所以我假设Django正在阻止它.那是准确的吗? 我有点希望Django用变量开始做一些事情,这些变量以下划线开头,就像仍在进行dict查找(第一件事是应该尝试)但是拒绝进行属性查找,方法调用和列表索引查找,因为强调的前缀变量将是无效的.我很快就失去了希望. 为了记录,我知道有人会建议只更改dict,但这实际上是在ElasticSearch实例上执行REST API请求时rawes库返回的多级字典. 解决方法The docs mention,你不能让变量以下划线开头:
但你可以轻松写一个custom template filter来模仿字典的 @register.filter(name='get') def get(d,k): return d.get(k,None) 和 {{ my_dict|get:"_my_key" }} (编辑:百色站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- python random.shuffle的随机性
- python – Mac上的Jupyter安装失败
- Ipython自动完成列表或对象的字典
- python – 在Tkinter中动态创建菜单. (lambda表达式?)
- python – Sympy:在多项式中删除高阶项
- python-2.7 – 无法安装PythonMagick Windows 7
- python – 使用Flask-WTForms字段描述呈现html标题属性
- python – 如何克服 – 在windows上使用文件名或扩展名失败
- python – 展开并合并Pandas数据帧
- python – 通过没有循环的2D索引数组索引2D numpy数组