在Django模板中显示字典值

1 投票
1 回答
5336 浏览
提问于 2025-04-15 18:35

大家好,

我在我的 views.py 文件里有以下内容:

def getgradeform(request):
   id1=request.user.get_pf().id
   sc=Sc.objects.filter(id=id1)
   logging.debug(sc)
   logging.debug("++++")
   dict={}
   dict.update({'sc': sc})
   return render_to_response('content/add.html',dict)

使用 Logging.debug 输出的结果是 [<sc: Robert>]

我想知道怎么在模板里显示出 Robert。

我在模板里尝试了以下代码:<input type ="text" value={{sc}}/> //这会直接显示字典本身

<input type ="text" value={{dict.sc}}/> //这个也不行。

谢谢……

1 个回答

6

如果你想从字典里获取某个值,你得按照特定的方式来做。

dict.key

(在Python中,你会写成 dict['key'])

所以,要获取和 'name' 这个键对应的值,你可以这样做:

{{ sc.name }}

不过,我觉得这不是你的情况。我觉得你看到的不是字典,而是从模型定义出来的对象(就像数据库中的一条记录)。

你把一个键为 'sc' 的值存储在 dict 里(别把这个值叫做 dict,那是个关键字),这个值是从一个模型返回的变量 sc。我只能猜,因为我不知道这个模型是什么样的。也许 'Robert' 存储在 nameid 或者其他类似的属性里?

所以你需要显示正确的属性,像这样:

{{ sc.name }}
{{ sc.id }}

撰写回答