获取在基于django类的视图中调用方法的顺序

时间:2016-08-11 15:07:00

标签: ajax django methods django-class-based-views

我一直在考虑这个问题。我知道类的__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

0 个答案:

没有答案