【问题标题】:Django template access dictionary keyDjango模板访问字典键
【发布时间】:2021-04-10 00:29:03
【问题描述】:

目前我正在将一个包含多个键的字典从我的视图传递给 django 模板,第一个键包含一个包含所有想要的键的列表,我希望有一个嵌套循环在第一个键内循环,以便我可以访问在想要的键里面。

dict = {
"list1" = ["name1", "name5"]
"name1" = []
"name2" = []
"name3" = []
"name5" = []
}

在这种情况下,我只想访问 dict['name1'] 和 dict['name5'],在 Python 中我可以这样做:

for name in dict['list1']:
  for l in dict[name]:
    do things

我想知道我是否可以对 html 文件中的 django 模板做同样的事情

【问题讨论】:

  • "我只想访问 dict['name1'] 和 dict['name5']"。那么你应该只将它需要的东西而不是复杂的结构传递给模板。
  • @KlausD。上面只是一个例子,name2,name3,name4在其他场合会用到,但不会和name1和name5一样调用
  • 为什么不创建一个更简单、因此对模板更友好的数据结构?数据处理应该在 Python 中进行,而不是在模板中。
  • @KlausD。所以在模板中,我希望有多个选择选项,每个选择标签包含多个选项标签,所以在上面的例子中,我有一个列表,其中包含我希望用户从中选择的不同类型的选择,以及每种类型的select 具有 select 类型具有的相应选项列表。这就是为什么我认为如果有办法在模板中做到这一点会更容易

标签: python django django-views django-templates


【解决方案1】:

首先你会得到语法错误你不应该使用=你应该在字典中使用:并在每个键值对之后添加,

dict = {
"list1" : ["name1", "name5"],
"name1" : [],
"name2" : [],
"name3" : [],
"name5" : [],
}

【讨论】:

  • 上面的代码只是一个例子,因为我不擅长用纯文本来解释,所以我认为有一个可见的代码来演示会更容易。
  • @LurkerDoge 我明白我说的是 Python 字典的规则
猜你喜欢
  • 2019-09-01
  • 2013-11-13
  • 2013-12-03
  • 2021-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多