gpt4 book ai didi

python - 窗体 View : View didn't return an HttpResponse object

转载 作者:太空宇宙 更新时间:2023-11-04 07:44:37 25 4
gpt4 key购买 nike

我知道这是在 View 具有不返回 HttpResponse 的代码路径时引起的,很明显。我是 Django 的新手,所以这可能是完全错误的。

这是 FormView 代码。我是否需要覆盖 render_to_response

class AddAdvertView(FormView):
form_class = NewAdForm

def get(self, *args, **kwargs):
self.campaign = get_object_or_404(Campaign, id__exact = self.kwargs['campaign_id'])

def post(self, request, *args, **kwargs):
pass

def get_form(self, form_class):
return form_class(initial = {}, campaign = self.campaign)

def get_success_url(self):
return self.request.META.get('HTTP_REFERER', None)

def form_valid(self, form):
return HttpResponse('form valid')

def form_invalid(self, form):
return HttpResponse('form invalid')

最佳答案

这可能是您在 get 方法中想要的:

 def get(self, *args, **kwargs):
campaign = get_object_or_404(Campaign, id=self.kwargs['campaign_id'])
ctx = self.get_context_data()
ctx['campaign'] = campaign
return self.render_to_response(ctx)

如果您没有对 post 做任何事情,您不应该有覆盖它的方法。同样,您不需要覆盖 get_form

基于类的 View 是 django 中的新功能,它们的文档与其他组件不相上下;希望这会很快改变。目前,了解基于类的 View 如何工作的最佳途径是查看它们的 mixins 提供的内容。

对于 FormView ,mixin 是 FormMixinProcessFormView

关于python - 窗体 View : View didn't return an HttpResponse object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10827696/

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