[django] wsgi.url_scheme <-> os.environ.get("HTTP

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Durch die Frage, wie man eine Absolute URL in django aufbaut, hab ich was anderes gefunden...

Also django stellt fest, ob "http" oder "https" genutzt wurde, über os.environ.get("HTTPS") ist ein "HTTPS = on" gesetzt, dann ist es "https", wenn nicht dann nicht...

Ich dagegen mach das so: request.META.get('wsgi.url_scheme', "http")

Was ist nun besser?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

OK, also der große Unterschied: os.environ["HTTPS"] wird vom Apache gesetzt. Angaben in request.META werden teilweise durch WSGI/django gesetzt.
Man merkt das wenn man sich die Einträge einmal mit dem Apache und einmal mit dem django entwicklungsserver anschaut.

IMHO sollte man also ehr auf request.META setzten und nur dann, wenn das reuqest Objekt nicht erreichbar ist, auf os.environ ausweichen...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten