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?

È stato utile?

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
scroll top