关于FormTools内部的问题

时间:2017-12-11 10:21:44

标签: python django

要使用FormPreview我应该将其子类化并将其用作View(?)。但FormPreview不是一种观点。这是如何运作的?

FormPreview有很多方法。他们在哪里打电话?例如post_post。它永远不会在FormPreview类中被调用,它不会被django调用。或者至少我的grep -inRI post_post没有找到它的用法。这有什么作用?

如果我在process_preview(子类和重写方法)中设置了self.number = 42之类的属性,那么我可以在done - 方法中访问它。所以我想我正在研究同一个对象。但我不知道对象生命周期是如何工作的。有人可以解释一下吗?

1 个答案:

答案 0 :(得分:1)

视图可以是任何可调用的 - 并且根本不需要是类,如在基于函数的视图中那样。在这种情况下,可调用对象是FormPreview类的一个实例:它是可调用的,因为该类定义了__call__方法。

post_post方法 - 以及preview_get等其他方法 - 在line 30中调用,它根据阶段和请求方法动态查找要调用的方法。