如何解决Django表单提交成功后重定向不生效的问题
问题解决方法
根因定位
你编写的视图函数没有返回重定向对象:仅调用redirect('dashboard')只会生成重定向响应实例,没有用return返回的情况下,函数会继续执行到末尾,最终返回表单页面的渲染结果,因此看不到跳转效果。
修复方案
修改views.py中对应代码,给重定向语句增加return关键字:
def setup_wizard(request): form = SetupForm(request.POST or None) if request.method == 'POST': if form.is_valid(): setup = form.save() setup.user = request.user setup.save() # 新增return返回重定向响应 return redirect('dashboard') else: form = SetupForm() context = { 'form': form, } return render(request, 'setup_wizard.html', context)
额外检查项
- 确认你在views.py顶部已经导入了redirect方法:
from django.shortcuts import redirect - 你当前的urls配置逻辑正确,命名为
dashboard的路由匹配/dashboard/路径,重定向目标无配置问题。
内容的提问来源于stack exchange,提问作者edche
相关产品推荐
相关产品推荐

