在Django

时间:2018-01-25 19:13:42

标签: python django templates render

我很难理解render()的工作原理。我已阅读有关该功能功能的帖子,但仍有未回答的问题。

在Django Docs中阅读它,并查看源代码,它不是一个与任何类相关的方法。相反,它就像许多其他函数一样,并且需要多个参数(request,template_name等)。

尽管在Django Book中,它被声明为一种方法,您可以调用模板对象。也就是说,您可以实例化一个对象,并立即使用某个上下文调用该对象上的render方法。我以前使用它而没有指定任何模板名称,只是在具有某些上下文的模板对象上调用它,如前所述。

为什么Docs将它描述为一个独立的函数,不属于类,当它可以在模板对象上调用时,就像它是模板类的方法一样?为什么我不在任何地方找到模板类?我错过了什么?

1 个答案:

答案 0 :(得分:0)

您询问了模板类,我们在Django中经常使用的是类TemplateView,您可以在其中提供template_name

值得一提的是,这本书已经很老了。它指的是版本0.96(您可以在第7页查看),而最新的Django版本是2.0。 从那以后发生了很多变化,所以我建议不要在新版本中使用它。