[django] Wird der dev.Server genutzt???

Django, Flask, Bottle, WSGI, CGI…
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

[django] Wird der dev.Server genutzt???

Beitragvon jens » Mittwoch 31. Oktober 2007, 14:12

Gibt es eigentlich eine Sichere Method festzustellen, ob die django-app gerade mit dem Development Server läuft oder mit einem echten?

Das einzige was mir einfällt: Nachsehen, was sich in os.environ tummelt...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Beitragvon sma » Montag 19. November 2007, 23:45

Hi,

Du könntest vielleicht request.META['SERVER_SOFTWARE'] prüfen. Der Development-Server sagt dort u'WSGIServer/0.1 Python/2.5.1'. Ein anderer Server möglicherweise (kann ich jetzt nicht prüfen) etwas anderes. Ein anderes Indiz wäre, wenn dein System auf localhost:8000 läuft. Was genau willst du erreichen?

Stefan
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 20. November 2007, 16:26

sma hat geschrieben:Ein anderes Indiz wäre, wenn dein System auf localhost:8000 läuft. Was genau willst du erreichen?

Mehr als ein Inziz ist das jedoch nicht, denn manchmal lässt man den WSGI-Server auch auf 0.0.0.0 lauschen oder hat im Produktiveinsatz den HTTPd auf Port 8000 und setzt einen Squid-Proxy davor.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Mittwoch 21. November 2007, 08:57

Die Idee war, die urls.py dynamisch anzupassen. Es geht um das Ausliefern von statischen Dateien mittels 'django.views.static.serve'...

Momentan muss man die url.py halt selbst anpassen, siehe:
http://pylucid.net:8080/pylucid/browser ... rls.py#L97

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Beitragvon sma » Donnerstag 22. November 2007, 16:16

Hm, ich ja ein Fan von automatischen Konfigurationen, wo man gerade nicht daran denken muss, Dateien manuell zu ändern. Ich muss außerdem zugeben, dass ich deinen Code recht unübersichtlich aufgrund deinen "comment spams" finde. Bin kein Fan von Trennlinien.

Im Fall von static-Dateien habe ich in meiner urls.py-Datei einfach diese ganz hinten stehen und erwarte, dass im Produktivbetrieb unser Lighttpd dafür sorgt, dass so eine URL niemals bei Django ankommt. Ich sah keine Notwendigkeit, dies zu einer bedingten Anweisung zu machen.

Die Sache mit den URL-Präfixes hatten wir auch, ich hatte mich für eine Lösung mit eigenen Funktionen entschieden, z.B. so

Code: Alles auswählen

prefixed_url('foo/$', bar)
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Re: [django] Wird der dev.Server genutzt???

Beitragvon jens » Freitag 1. Juli 2011, 22:10

jens hat geschrieben:Gibt es eigentlich eine Sichere Method festzustellen, ob die django-app gerade mit dem Development Server läuft oder mit einem echten?

Die Lösung ist eigentlich recht einfach:

Code: Alles auswählen

if sys.argv[1].startswith("runserver"):

:P

siehe: https://github.com/jedie/PyLucid/commit ... 4a0eb76a3e

(Mensch... Seit 2007 vergessen...)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Re: [django] Wird der dev.Server genutzt???

Beitragvon Dauerbaustelle » Samstag 6. August 2011, 02:07

Wieso `startswith`?
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Re: [django] Wird der dev.Server genutzt???

Beitragvon jens » Samstag 6. August 2011, 07:30

Hm. Gute Frage ;)

Eigentlich sollte das auch funktionieren:

Code: Alles auswählen

if "runserver" in sys.argv:

Damit muß man auch nicht testen ob sys.argv >= 2 ist...


...oder?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Re: [django] Wird der dev.Server genutzt???

Beitragvon Dauerbaustelle » Samstag 6. August 2011, 12:59

jop
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Re: [django] Wird der dev.Server genutzt???

Beitragvon jens » Freitag 12. August 2011, 16:15

Wozu überhaupt if? Geht noch einfacher, in die settings.py kommt das rein:

Code: Alles auswählen

RUN_WITH_DEV_SERVER = "runserver" in sys.argv

:P

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder