2

我无法将以下代码转换为新的 django 1.3 基于类的通用视图格式。具体来说,我不明白如何将“extra_context”传递给基于类的视图。有人可以帮我将此代码转换为新符号吗?或发布一个很好的例子的链接?我已阅读文档,但示例非常脆弱。

def return_event_list_object(request, username, queryset, entries_per_page, param1, param2):
    ...
    ...
    return object_list(request, queryset = queryset,
            template_name = 'myapp/list_events.html', 
            paginate_by = int(entries_per_page), 
            template_object_name = 'event',
            extra_context = {'param1': param1, 
                            'param2': param2, } )

感谢您的意见!

4

1 回答 1

3

extra_context文档部分解释了如何将项目添加到上下文中:

基于类的视图不提供 extra_context 参数。相反,您将视图子类化,覆盖 get_context_data()。例如:

在您的情况下,请尝试:

class MyListView(ListView):
    def get_context_data(self, **kwargs):
        context = super(MyListView, self).get_context_data(**kwargs)
        context.update({
            'param1': kwargs['param2'],
            'param2': kwargs['param1']
        })
    return context
于 2011-07-18T11:06:56.697 回答