2011-05-06 100 views
1

我在页面上使用变量url /emails/edit/32/,我想更新窗体并刷新页面...如何向当前页面发出HttpResponseRedirect,该页面有一个变量延期?Django响应重定向变量url

我的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/

回答

2
from django.core.urlresolvers import reverse 

return HttpResponseRedirect(reverse('emails_single', args=[email_id])) 
+0

JamesO:我已经更新的问题,以展示一下我得到。 – David542 2011-05-06 10:00:34

0
from django.core.urlresolvers import reverse 

def myview(request): 
    return HttpResponseRedirect(reverse('urlname', args=[1945]))