【问题标题】:django redirect not redirectingdjango重定向不重定向
【发布时间】:2013-09-11 00:21:42
【问题描述】:

我认为有以下表单逻辑:

if request.method == 'POST':
        form = MyForm(request.POST, request.FILES)
        if form.is_valid():

            my_form = form.save()                                          )
            print 'before redirect'
            redirect('customer:department-edit')
            print 'after redirect'

我的网址条目如下所示:

url(r'^departments/$', views.departments_view, name='department-edit'),

我得到以下输出:

before redirect
after redirect

为什么表单提交后不会发生重定向?

【问题讨论】:

    标签: django redirect django-forms django-urls


    【解决方案1】:

    您似乎忘记在redirect() 之前添加return 语句。

    为什么需要 return ?因为redirect 方法只是HttpResponseRedirect 的快捷方式,所以它的行为与任何其他操作一样:它必须返回响应。

    所以你的代码应该是这样的:

    ...
    print 'before redirect'
    return redirect('customer:department-edit')
    print 'after redirect'
    ...
    

    Django Documentation example :)

    【讨论】:

      猜你喜欢
      • 2019-11-12
      • 2020-10-27
      • 1970-01-01
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-05
      • 2019-09-15
      相关资源
      最近更新 更多