Перенаправление Django на внешний URL-адрес, содержащий параметры (для разработки)

StackOverflow https://stackoverflow.com/questions/2212195

Вопрос

При разработке с помощью Django без веб-сервера (обслуживания непосредственно из Django) у меня возникла проблема с внешними URL-адресами, в которых отсутствует доменная часть. и иметь параметры.

Допустим, я использую библиотеку javascript, которая выполняет ajax-вызов «/prefix/foo/bar?q=1» (URL-адрес — это то, что я не могу изменить).Это не проблема для рабочего сервера, а проблема только в том случае, если веб-сервер не используется.Я могу перенаправить, добавив следующий шаблон в свои URL-адреса:

(r'^prefix/(?P<path>.*)$', 'django.views.generic.simple.redirect_to', {'url': 'htttp://example.com/prefix/%(path)s'}),

но, конечно, %(path)s будет содержать только «foo/bar», а не «foo/bar?q=1».

Есть ли способ решить эту проблему с помощью Django?

Это было полезно?

Решение

Вам придется написать собственное перенаправление:

def redirect_get(request, url, **kwargs):
    if request.META['QUERY_STRING']:
        url += '?%s' % request.META['QUERY_STRING']
    return redirect_to(request, url, **kwargs)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top