Skip to main content
 首页 » 编程设计

python之如何在没有通用 View 的 post_save_redirect 参数的情况下重定向到 Django 中新创建的对象

2025年05月04日22oomusou

我试图在保存表单后将用户重定向到新创建的对象的 object.get_absolute_url()。我没有使用通用 View ,所以我不能使用 post_save_redirect 参数。 view 的相关部分如下所示:

if form.is_valid(): 
    form.save() 
    return HttpResponseRedirect(reverse('story_detail', args=(story.user, story.id))) 

现在我如何获取 form.save() 和 HttpResponseRedirect 之间的 story 对象,以便我可以执行 reverse 查找?

请您参考如下方法:

ModelForm 的保存方法返回新创建的模型实例。在您的情况下,这意味着您应该能够使用以下内容:

if form.is_valid(): 
    story = form.save() 
    return HttpResponseRedirect(reverse('story_detail', args=(story.user, story.id)))