Перенаправление на относительный путь django

#python #django

#python #джанго

Вопрос:

Посмотрите на эти примеры:

https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#examples

 def my_view(request):
    ...
    return redirect('some-view-name', foo='bar') #view name with optional arguments

def my_view(request):
    ...
    return redirect('/some/url/')
 

Нет никакой идентификации, чтобы сообщить Django, является ли первый аргумент представлением или URL-адресом. Я хотел указать ‘login’, относительный путь, но он ищет представление. На моем локальном хосте он работал с ‘/ login’, так как я работал в корневом каталоге, но теперь, после того как я развернул свой проект на своем веб-сервере, я поместил его в папку. Является ли указание ‘/ myfolder / login’ (абсолютный путь) единственным способом использования ярлыка перенаправления?

Ответ №1:

попробуйте:

 from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect

...

return HttpResponseRedirect( reverse('login', kwargs={'foo': 'bar'}) )