迁移Django 1.4.5 - > 1.6.5:ListView,DetailView

时间:2014-07-15 13:50:30

标签: python django migration django-1.6

我正在尝试将我的项目从Django 1.4.5迁移到1.6.5

Django 1.4.5代码:

from django.views.generic.list_detail import object_list, object_detail
..
return object_list(request, groups, paginate_by = 20, template_object_name = 'group', extra_context = args)
return object_detail(request, queryset, id, template_object_name = 'group')

问题:上面的代码应该如何看待1.6.5?

from django.views.generic.list import ListView
from django.views.generic.detail import DetailView
..
return ????

1 个答案:

答案 0 :(得分:1)

对于那些感兴趣的人, ListView 的正确答案是:

class TestsListView(ListView):
    extra_context = {}
    def get_context_data(self, **kwargs):
        context = super(TestsListView, self).get_context_data(**kwargs)
        context.update(self.extra_context)
        return context
...
callable = TestsListView.as_view(queryset = groups, template_name = None, paginate_by = 20, context_object_name = 'group_list', extra_context = args)
return callable(request)