我无法将以下代码转换为新的基于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, } )
感谢您的投入!
答案 0 :(得分: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