Перенаправление Django на внешний URL-адрес, содержащий параметры (для разработки)
Вопрос
При разработке с помощью 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)
Не связан с StackOverflow