我一直在考虑这个问题。我知道类的__mro__
将返回继承层次结构。但是如何才能得到在课堂上调用函数的顺序?
以下是我正在经历的情景。我必须使用ajax实现pagination in ListView
。我得出结论,render_to_response(self, context, **response_kwargs)
是在返回模板之前调用的最后一个方法。如果我检查content_type
,如果使用ajax调用url,我可以返回模板或json响应。我应该用django-rest-framework
完成这项工作,而且工作量要少得多,但要求明确指出web应用程序和api应该是两个单独的文件。所以我的render_to_response如下所示。
def render_to_response(self, context, **response_kwargs):
response_kwargs.setdefault('content_type', self.content_type)
if self.request.content_type == 'application/json':
return json.loads(myJsonResponse)
else:
return self.response_class(
request=self.request,
template=self.get_template_names(),
context=context,
using=self.template_engine,
**response_kwargs
)
我指的是ccbv这些东西。
如果设计一种方法来获得在基于django类的视图中调用函数的顺序应该是非常有用的,因为我喜欢dry coding
并且我可以在需要时在django cbv中随处使用这个想法。
TIA