8

我的 django 项目中有以下代码。

ctxt = RequestContext(request, {
    'power': power,
    'attack': attack,
    'defense': defense,
    })  

现在我想通过如下方式获得这本字典ctxt

{
    'power': power,
    'attack': attack,
    'defense': defense,
}

我试过ctxt.dicts了,但这包含太多项目。所以我查看了源代码,并在class RequestContext(Context):

for processor in get_standard_processors() + processors:
    self.update(processor(request))

我认为带入其他项目。

那我怎么能得到呢?

顺便说一句,如果你想知道我为什么要这样做,你可以看看我之前问过的这个问题。

如何获得重写的 render_to_response 以在 django 中获得对整个项目的更改最少的 json

4

2 回答 2

18

我参加聚会有点晚了,但是您可以从 RequestContext 对象中获取字典

ctxt.flatten()

如果你使用 Django>=1.7。(文档)

于 2017-05-01T16:19:27.343 回答
2

ctxt.dict 是一堆字典,所以你只需要:

ctxt.dict[0]
于 2013-01-21T15:22:10.077 回答