gpt4 book ai didi

django createview 与 success_url 是相同的 View ?

转载 作者:行者123 更新时间:2023-12-04 11:05:15 26 4
gpt4 key购买 nike

我正在使用 Django CreateView,我想设置 success_url到相同的 View ,以便当表单发布时,它显示相同的页面,我可以在表单之外显示创建的对象,以防您想添加一个新对象。然而,self.object是 None 因为这个在 BaseCreateView :

def post(self, request, *args, **kwargs):
self.object = None
return super(BaseCreateView, self).post(request, *args, **kwargs)

我的结论是 CreateView 不会在成功后重新显示?

最佳答案

我看错地方了。

我必须覆盖 form_valid不重定向到 URL ( return HttpResponseRedirect(self.get_success_url()) )

 def form_valid(self, form):
self.object = form.save()

# Does not redirect if valid
#return HttpResponseRedirect(self.get_success_url())

# Render the template
# get_context_data populates object in the context
# or you also get it with the name you want if you define context_object_name in the class
return self.render_to_response(self.get_context_data(form=form))

关于django createview 与 success_url 是相同的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26564027/

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