Django reindirizzamento all'URL esterno che contiene i parametri (per lo sviluppo)
Domanda
Quando si sviluppa con Django senza un server web (che serve direttamente da Django) Ho un problema con URL esterni che non hanno la parte del dominio e hanno parametri.
Diciamo che sto usando un libreria javascript che fa una chiamata AJAX a "/ prefix / foo / bar? Q = 1" (l'URL non è qualcosa che posso cambiare). Non è un problema per il server di produzione, ma solo un problema quando non si utilizza un server web. Posso reindirizzare aggiungendo il seguente schema ai miei urlpatters:
(r'^prefix/(?P<path>.*)$', 'django.views.generic.simple.redirect_to', {'url': 'htttp://example.com/prefix/%(path)s'}),
ma naturalmente% (percorso) s sarà solo contenere "foo / bar" non "foo / bar? Q = 1".
C'è un modo per gestire questo problema con Django?
Soluzione
Dovrete scrivere il proprio reindirizzamento:
def redirect_get(request, url, **kwargs):
if request.META['QUERY_STRING']:
url += '?%s' % request.META['QUERY_STRING']
return redirect_to(request, url, **kwargs)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow