django AJAX-Proxy-Ansicht

8

Eine Django-Web-App muss Ajax-Aufrufe an eine externe URL senden. In der Entwicklung serviere ich direkt von Django, also habe ich ein Cross-Domain-Problem. Was ist der Django-Weg, um einen Proxy für den Ajax-Aufruf zu schreiben?

    
kmt 07.02.2010, 16:59
quelle

3 Antworten

5

Hier ist eine tote einfache Proxy-Implementierung für Django.

%Vor%

Damit werden Anforderungen vom Pfad PROXY_PATH + zum Pfad TARGET_URL + weitergeleitet. Der Proxy wird aktiviert und konfiguriert, indem ein URL-Muster wie folgt zu urls.py hinzugefügt wird:

%Vor%

Zum Beispiel:

%Vor%

wird eine Anforderung an Ссылка senden und die Datei an Ссылка zurückgeben.

Abfragestrings werden weitergeleitet, HTTP-Header wie Cookies und POST-Daten hingegen nicht (es ist ganz einfach, wenn Sie es benötigen).

Hinweis: Dies ist hauptsächlich für Entwicklungszwecke gedacht. Die Proxyverarbeitung in der Produktion erfolgt am besten über den HTTP-Server (z. B. Apache oder Nginx).

    
Jaka Jaksic 05.03.2012 09:35
quelle
2

Ich bin über diese Frage gestolpert, als ich versucht habe, sie selbst zu beantworten, und habe diese Django-App gefunden:

Ссылка

... das ist ein bisschen Schwergewicht für das, was ich brauchte (Aufnahme und Wiedergabe, erfordert eine Syncdb, um Modellmaterial hinzuzufügen). Aber Sie können den Code in seiner generischen Proxy-Ansicht sehen, die auf httplib2 :

basiert

Ссылка

    
HostileFork 24.11.2010 05:05
quelle
1

Habe ich Recht, dass Sie fragen, wie man in Django eine Ansicht schreibt, die eine eingehende AJAX-Anfrage akzeptiert, eine Anfrage an den entfernten Server sendet und dann die empfangene Antwort an den Browser zurückgibt?

Wenn ja, dann ist es nicht wirklich Django-spezifische Frage - Remote-Aufrufe könnten mit Pythons urllib2 oder Ссылка , und dann müssen Sie nur sagen:

%Vor%

- in Ihrer Django-Proxy-Ansicht. Ich nehme hier keine Antwortverarbeitung an, denn wenn es nur ein Proxy für AJAX-Aufrufe ist, erwartet JavaScript unverarbeitete Daten.

    
Tomasz Zielinski 07.02.2010 17:41
quelle

Tags und Links