context.render_context.push_state(self):
这是如何运作的?因为 render_context 是 Context 类的一个属性,它被分配了一个 RenderContext 对象。那么,不是 Context 类实例的 context 如何访问它的属性呢?
来自来源
# Django < 1.8 accepted a Context in `context` even though that's
# unintended. Preserve this ability but don't rewrap `context`.
if isinstance(context, Context):
return t.render(context)
else:
return t.render(Context(context, autoescape=self.autoescape))