【问题标题】:Django response redirect on variable urlDjango响应重定向变量url
【发布时间】:2011-05-06 09:32:00
【问题描述】:

我在一个带有可变 url /emails/edit/32/ 的页面上,我想更新表单并刷新页面...如何向当前页面发出 HttpResponseRedirect,它有一个可变扩展名?

我的 urls.py 是:

urlpatterns = patterns('',
    (r'^emails/edit/$', 'email_edit'),    # this is the page it is re-directing to
    (r'^emails/edit/(?P<email_id>\d+)/$', 'emails_single'),
)

我的views.py是:

def emails_single(request, email_id):
    ...(stuff)...
    Email.objects.filter(id=request.POST['id']).update(email=request.POST['email'])
        return HttpResponseRedirect(reverse('emails_single',args=[email_id]))

更新:它所做的只是切断 URL 的结尾(即使使用反向示例)。例如:http://127.0.0.1:8000/emails/edit/42/ --> http://127.0.0.1:8000/emails/edit/

【问题讨论】:

    标签: django


    【解决方案1】:
    from django.core.urlresolvers import reverse
    
    return HttpResponseRedirect(reverse('emails_single', args=[email_id]))
    

    【讨论】:

    • JamesO:我已经更新了问题以显示我得到了什么。
    【解决方案2】:

    【讨论】:

      【解决方案3】:
      from django.core.urlresolvers import reverse
      
      def myview(request):
          return HttpResponseRedirect(reverse('urlname', args=[1945]))
      

      【讨论】:

        猜你喜欢
        • 2010-12-25
        • 1970-01-01
        • 1970-01-01
        • 2021-11-25
        • 2014-04-16
        • 2018-11-23
        • 1970-01-01
        • 2013-02-04
        • 1970-01-01
        相关资源
        最近更新 更多