gpt4 book ai didi

基于 Django 类的 View 调用另一个 View

转载 作者:行者123 更新时间:2023-12-02 08:32:57 25 4
gpt4 key购买 nike

我开发了一个基于类的 View 来呈现您可以在下面看到的元素列表:

class ConfirmBeforeRunTest(LoginRequiredMixinRedirect,ListView):
template_name = "app_testing_house/confirm_before_run.html"
# Redirect to login page if not auth
redirect_unauthenticated_users = True

# Options for ListView
model = Test

context_object_name = 'test_list'

def get_queryset(self):
return Test.objects.filter()

def post(self, request, *args, **kwargs):
return TestToRunPostProcessorView.as_view(request)

如您所见,我希望能够在我的 View 中处理 POST 请求处理,以便为我的查询集获取一些参数。我曾经读过一篇博客,说一个 CBV = 一个函数。所以我创建了另一个 View 来处理所有 POST 过程:

class TestToRunPostProcessorView(FormView):
form_class = TestToRunForm

def form_valid(self, form):
# Process form
return self.render_to_response(context)

def form_invalid(self, form):
return self.render_to_response(self.get_context_data(form=form))

不幸的是,它不起作用,我收到以下错误消息:

as_view() takes exactly 1 argument (2 given)

所以我假设 return TestToRunPostProcessorView.as_view(request) 不正确,但我不知道为什么..

最佳答案

函数 .as_view() 本身返回一个 View 函数。您必须以这种方式提供参数:

return TestToRunPostProcessorView.as_view()(request)

关于基于 Django 类的 View 调用另一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24861449/

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