当前位置: 首页 > 面试题库 >

通过Django模板中的变量访问字典?

韩智敏
2023-03-14
问题内容

我的视图代码基本上是这样的:

context = Context() 
context['my_dict'] = {'a': 4, 'b': 8, 'c': 15, 'd': 16, 'e': 23, 'f': 42 }
context['my_list'] = ['d', 'f', 'e', 'b', 'c', 'a']

我想在Django模板中执行的操作是:

<ul>
{% for item in my_list %} 
  <li>{{ item }} : {{ my_dict.item }}</li>
{% endfor %} 
</ul>

我想要这样输出:

<ul> 
  <li> d : 16 </li> 
  <li> f : 42 </li> 
  <li> e : 23 </li> 
  <li> b : 8 </li> 
  <li> c : 15 </li> 
  <li> a : 4 </li> 
</ul>

但是通过变量名称via对dict的引用{{ my_dict.item }}实际上不起作用。我怀疑它是在内部my_dict['item']而不是在做my_dict[item]。有什么办法可以解决此问题?


问题答案:

没有内置的方法可以执行此操作,您需要编写一个简单的模板过滤器才能执行此操作:http
:
//code.djangoproject.com/ticket/3371



 类似资料:
  • 问题内容: 我正在将字典从我的视图传递到模板。因此可以传入并循环遍历键,值对,但我还没有找到一种从特定键直接在视图中直接访问的优雅解决方案,例如bu json.items [“ key1”]。我可以使用一些if / then语句,但是我宁愿直接这样做也可以吗? 这是html模板中的循环代码: 问题答案: Django模板语言支持按以下方式查找字典键: 请参阅有关变量和查找的模板文档。 模板语言未提

  • 问题内容: 如果我在Django中设置会话变量,例如: 有什么方法可以从模板中访问它,还是必须从视图中检索它,然后将其传递给模板? 询问是因为我想在模板中访问大约10个小会话变量,然后将所有10个从视图传递到模板可能会有些混乱。 (我必须使用会话变量,因为它是HttpResponseRedirect,但是出于我的目的,将变量存储在数据库中是过大的。) 那么-有什么方法可以直接在模板中获取会话变量?

  • 问题内容: 我正在使用Flask 0.7版。我已经将静态内容的路径存储在配置文件中,并使用 我可以在不通过变量的情况下访问模板中的此配置变量吗? 问题答案: flask默认情况下会在模板上下文中传递一些全局变量(这是完整列表),其中之一是,允许你从模板访问应用程序配置。作为字典,可以使用或(该语法用于访问字典项的语法特定于Jinja)进行访问。

  • 是否可以访问模板中的设置变量? 设置: 如何使用,而不在模板中重用,以避免重复的代码,尤其是在其层次结构较深的情况下?

  • 问题内容: 它能够写,甚至。 但是,我找不到要添加值* -1之类的内容。不幸的是,这行不通。 问题答案: 你可以轻松地制作自己的模板标签:

  • 问题内容: 我刚刚开始学习Go,有些事情引起了我的注意。 功能如下: 等等。作为来自C语言的人,我想知道: 1)是否可以通过变量本身来调用这些函数(如中所述)? 2)这是一种常见的做法(定义泛型函数并让其找出类型及其应执行的操作),还是仅用于内置类型。例如,如果我要定义自己的类型,例如,是否应该在类型内定义和附加函数,并将其命名为 还是应该定义一个接收列表的函数,例如: 问题答案: 1-您不能将内