Pregunta

Cuando se desarrolla con Django sin un servidor web (que sirve directamente de Django) Tengo un problema con las URL externas que carecen de la parte del dominio y tienen parámetros.

Digamos que estoy usando una librería javascript que hace una llamada AJAX a "/ prefijo / foo / bar? Q = 1" (la url no es algo que pueda cambiar). No es un problema para el servidor de producción, pero sólo es un problema cuando no se utiliza un servidor web. Puedo redirigir añadiendo el siguiente patrón a mis urlpatters:

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

pero por supuesto% (ruta de acceso) s solamente contendrá "foo / bar" no "foo / bar? Q = 1".

¿Hay una manera de manejar este problema con Django?

¿Fue útil?

Solución

Vas a tener que escribir su propia redirección:

def redirect_get(request, url, **kwargs):
    if request.META['QUERY_STRING']:
        url += '?%s' % request.META['QUERY_STRING']
    return redirect_to(request, url, **kwargs)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top