Seite 20 von 30

Verfasst: Samstag 20. Februar 2010, 14:25
von MrNiceTry
Defnull hat geschrieben:
MrNiceTry hat geschrieben: Sorry, ich hab jetzt nochmals gesucht.
Aber die Stelle, wo das im Tutorial steht, kann ich nicht finden.
Dann schau dir mal den Code-Schnipsel direkt über dem von dir zitierten Code-Beispiel an. Da steht ne lange import-reihe inklusive default_app
Richtig.
Aber diese Zeile würde ich der Datei todo.py zuordnen !

Weil danach kommt der Satz:

Code: Alles auswählen

After that, create a file called "adapter.wsgi" with the following content:
und in adapter.wsgi sollen doch wohl kaum "route, run, debug, template, request, validate, error" mit importiert werden.

Ich möchte da jetzt aber keine Diskussion losschlagen, wozu auch.

Danke für Deine Hilfe.

static_file

Verfasst: Samstag 20. Februar 2010, 18:58
von webwurst
In der Methode "static_file" kannst du vielleicht die Zeile

Code: Alles auswählen

header['Content-Disposition'] = 'attachment; filename=%s' % download
durch folgende ersetzen

Code: Alles auswählen

header['Content-Disposition'] = 'attachment; filename="%s"' % download
Also Anführungszeichen um den Dateinamen. Ohne zeigt mir der Firefox bei Dateinamen mit Leerzeichen nur das erste Wort an, mit den ganzen Dateinamen.

Besten Gruß!

Bottle updaten ?

Verfasst: Sonntag 21. Februar 2010, 00:10
von MrNiceTry
Hab wahrscheinlich 0.6.4 auf dem Server.

Wie kann ich die aktuelle Version feststellen?
Wie kann ich die aktuelle Version updaten?


Danke.

Verfasst: Sonntag 21. Februar 2010, 19:24
von webwurst
Guck in die Datei "bottle.py". Dort müsste so ungefähr um die Zeile 85 eine Versions-Info stehen.

Code: Alles auswählen

__version__ = '0.7.0a'
Updaten kannst du ganz einfach indem du die Datei "bottle.py" ersetzt. Nimm diesen Link: http://github.com/defnull/bottle/raw/master/bottle.py

Verfasst: Montag 22. Februar 2010, 00:47
von MrNiceTry
webwurst hat geschrieben:Guck in die Datei "bottle.py". Dort müsste so ungefähr um die Zeile 85 eine Versions-Info stehen.

Code: Alles auswählen

__version__ = '0.7.0a'
Updaten kannst du ganz einfach indem du die Datei "bottle.py" ersetzt. Nimm diesen Link: http://github.com/defnull/bottle/raw/master/bottle.py
Ich habe bottle mit easy_install installiert.
Und jetzt finde ich bottle.py nicht. :(
In welchem Verzeichnis wird's versenkt?

Danke.

Verfasst: Montag 22. Februar 2010, 08:50
von frabron
Das kommt wohl aufs Betriebssystem an. Unter *nix irgendwo unter /usr/local/lib/python2.5/site-packages, zumindest bei den debian-basierten. Unter Windows bietet sich das Installationsverzeichnis an. Die Ordnerstruktur ist da ähnlich (Lib/site-packages)

Verfasst: Montag 22. Februar 2010, 09:02
von snafu

Code: Alles auswählen

import bottle
bottle.__file__
...sollte dir weiter helfen.

Verfasst: Montag 22. Februar 2010, 12:30
von Defnull
Bottle per easy_install hat die Version 0.6.4, da es keine neuere easy_install Version gibt. Updaten kann man mit "easy_install -U bottle", sobald ein neuer Release raus kommt. Das macht aber erst Sinn, wenn die 0.7 Version von github stabil und dokumentiert genug für einen Release ist. Bis dahin kann man entweder die stabile 0.6.4 Version nehmen, oder die Feature-reiche, verbesserte aber noch im Test befindliche 0.7 Version von github.

Verfasst: Montag 22. Februar 2010, 12:36
von MrNiceTry
Defnull hat geschrieben:Bottle per easy_install hat die Version 0.6.4, da es keine neuere easy_install Version gibt. Updaten kann man mit "easy_install -U bottle", sobald ein neuer Release raus kommt. Das macht aber erst Sinn, wenn die 0.7 Version von github stabil und dokumentiert genug für einen Release ist. Bis dahin kann man entweder die stabile 0.6.4 Version nehmen, oder die Feature-reiche, verbesserte aber noch im Test befindliche 0.7 Version von github.
Hab die bottle.py gefunden.
Danke auch snafu und frabron.

und natürlich Defnull.

Verfasst: Donnerstag 25. Februar 2010, 16:27
von jbs
Defnull hat geschrieben:Ich persönlich verwende lieber Unterstriche als Bindestriche in URLs, wenn es darum geht, Leerstellen zu markieren. (Auch wenn Leerstellen in URLs möglich sind, das %20 ist hässlich). Außerdem wird in Python der Unterstrich oft in längeren Funktionsnamen verwende. Diese ungefragt in '/' zu übersetzen halte ich für unintuitiv und fehlerträchtig. Die Doppel-Unterstriche sind da expliziter, finde ich.

Grundproblem ist ja, dass Python Bezeichner aus Unterschtrichen, Zahlen und Buchstaben will. Das heißt uns steht ein eher kleines Eingabealphabet zur Verfügung.

Daher dachte ich, man könnte Großbuchstaben für Sonderzeichen verwenden. URLs sollten IMHO case-insensitive sein, sodass uns die Kleinbuchstaben für die Ausgestaltung der Buchstaben reichen sollten.

Alternativ kann man ja um die Großbuchstaben Unterstriche setzen, um die Sonderzeichen zu verdeutlichen.

Sonderzeichen könnten dann auch reguläre Ausdrücke abbilden (Ein I steht dann für Zahlen, die dann entsprechend evaluiert werden).

Kriege Send-File nicht richtig hin.

Verfasst: Freitag 26. Februar 2010, 11:36
von MrNiceTry
Meine Client-HTML soll eine datei.css vom Apache-Bottle ziehen.

Ich habe mal mit den Tutorial-Beispielen rumgehext. Aber irgendwie komme ich nicht dahinter.

Was ist der richtige Weg?

Danke.

Verfasst: Freitag 26. Februar 2010, 13:45
von frabron
Ich hab für so statischen Sachen (Bilder, CSS, Javascript) einen Alias im Virtualhost vom Indianer erzeugt und rufe den über /static ab. Da muss man Bottle nicht unbedingt mit belästigen. Ansonsten kannst du auch mal ein paar Seiten im Thread zurückblättern, da müsste irgendwo ein paar Posts von mir sein, die sich mit ähnlichen Fragen beschäftigen und das mittels Regex in Bottle erledigen. Da bin ich aber von ab mittlerweile ...

Verfasst: Freitag 26. Februar 2010, 19:41
von orschiro
Hallo Leute,

ich beschäftige mich zurzeit auch etwas mit Bottle und habe auch eine kleine Applikation geschrieben. Diese würde ich nun gerne mittels FCGI und meinem Nginx-Server produktiv testen.

Wie ist hier zu verfahren? Das Tutorial erklärt die Nutzung mit WSGI. Dieses lässt sich aber nicht mit Nginx nutzen.

Danke und Grüße

Verfasst: Freitag 26. Februar 2010, 20:00
von Dauerbaustelle
orschiro hat geschrieben:Das Tutorial erklärt die Nutzung mit WSGI. Dieses lässt sich aber nicht mit Nginx nutzen.
Doch, wir nutzen das im Produktiveinsatz. Ich kann dir die Konfigurationsdatei schicken, wenn du möchtest.

Verfasst: Freitag 26. Februar 2010, 20:04
von orschiro
Das funktioniert?

Gerne. :-)

Verfasst: Samstag 27. Februar 2010, 01:22
von Dauerbaustelle
http://paste.pocoo.org/show/183252/ Dateiname steht in der ersten Zeile.

http://paste.pocoo.org/show/183253/ Hier eine Beispielkonfiguration für eine Seite.

Ich kann mich allerdings erinnern, dass die nginx-Version, die bei uns läuft, gepatcht ist. Wenns nicht klappt, sag einfach mal, dann forsche ich nach.

Template aus DB?

Verfasst: Samstag 27. Februar 2010, 08:57
von MrNiceTry
Gibt es eine Möglichkeit Templates mit Pythoncode aus einer Datenbank laufen zu lassen?

Gibt es was Fertiges?
Kann ich das selber bauen?
Ist da was geplant?

Danke.

Verfasst: Samstag 27. Februar 2010, 10:47
von orschiro
Hallo Dauerbaustelle,

Nginx scheint wirklich einen Patch zu benötigen. Ich habe die Änderungen aufgenommen und erhalte bei einem Reload folgende Meldung:
:: Checking configuration [BUSY] [emerg]: unknown directive "wsgi_var" in /etc/nginx/wsgi_vars:2
configuration file /etc/nginx/conf/nginx.conf test failed
Gibt es irgendwo einen Hinweis wie Nginx zu patchen ist?

Eingesetzt wird nginx 0.7.65-1

Danke und Grüße

Re: Template aus DB?

Verfasst: Samstag 27. Februar 2010, 11:31
von Dauerbaustelle
MrNiceTry hat geschrieben:Gibt es eine Möglichkeit Templates mit Pythoncode aus einer Datenbank laufen zu lassen?
Warum willst du denn sowas? Selbst bauen kannst du das natürlich :)

Verfasst: Samstag 27. Februar 2010, 11:41
von fred.reichbier
Hallöchen,

Du müsstest nginx mit mod_wsgi kompilieren, das ist nämlich normalerweise nicht dabei (3rd party). Wie das geht, steht hier: http://wiki.nginx.org/NginxNgxWSGIModule. Falls du Probleme bekommst, die so aussehen, spielste dann noch den oben schon von Dauerbaustelle erwähnten Patch ein wie hier beschrieben.

Sorry, hab schon länger keinen nginx mehr kompiliert, könnte sein, dass ich irgendwas zu erwähnen vergessen habe ;)

Gruß,

Fred