Переадресация ответа Django на переменную URL - PullRequest
1 голос
/ 06 мая 2011

Я нахожусь на странице с переменной 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/

Ответы [ 3 ]

2 голосов
/ 06 мая 2011
from django.core.urlresolvers import reverse

return HttpResponseRedirect(reverse('emails_single', args=[email_id]))
1 голос
/ 06 мая 2011
0 голосов
/ 06 мая 2011
from django.core.urlresolvers import reverse

def myview(request):
    return HttpResponseRedirect(reverse('urlname', args=[1945]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...