gpt4 book ai didi

django:如何将此 View 迁移到等效的基于类的通用 View ?

转载 作者:行者123 更新时间:2023-12-04 06:19:46 25 4
gpt4 key购买 nike

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

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, } )

我感谢您的意见!

最佳答案

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

Class-based views don't provide an extra_context argument. Instead, you subclass the view, overriding get_context_data(). For example:



在您的情况下,请尝试:
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

关于django:如何将此 View 迁移到等效的基于类的通用 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6730600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com