Hallo zusammen,
kann es sein das Bottle Probleme hat mit externen CSS Dateien?
Ich habe jetzt schon versucht die CSS Datei ins Verzeichnis des Templates zu legen und auch schon in das Verzeichnis des *.py Scripts. Bekomme aber immer einen 404
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head><title>Error 404: Not Found</title>
</head><body><h1>Error 404: Not Found</h1>
<p>Sorry, the requested URL "/style.css" caused an error.</p>
Not found
</body></html>
Wenn ich was falsch mache bzw. hierbei etwas beachten muss, dann sagt es mir bitte
@Defnull: Vielleicht wär's hinsichtlich der Nutzerfreundlichkeit nicht schlecht, einen solchen @static-Dekorator anzulegen. Den Basis-Pfad könnte man ja in einer lokalen Konstante speichern.
Oder halt direkt eine Funktion add_stylesheet(), die das für einen regelt und das entsprechende link-Element erzeugt. Wahlweise auch die Möglichkeit, alle Stylesheet-Dateien als Liste zu übergeben.
Exception happened during processing of request from ('127.0.0.1', 58437)
Traceback (most recent call last):
File "C:\Python26\lib\site-packages\paste\httpserver.py", line 1062, in proces
s_request_in_thread
self.finish_request(request, client_address)
File "C:\Python26\lib\SocketServer.py", line 320, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Python26\lib\SocketServer.py", line 615, in __init__
self.handle()
File "C:\Python26\lib\site-packages\paste\httpserver.py", line 436, in handle
BaseHTTPRequestHandler.handle(self)
File "C:\Python26\lib\BaseHTTPServer.py", line 329, in handle
self.handle_one_request()
File "C:\Python26\lib\site-packages\paste\httpserver.py", line 431, in handle_
one_request
self.wsgi_execute()
File "C:\Python26\lib\site-packages\paste\httpserver.py", line 289, in wsgi_ex
ecute
for chunk in result:
TypeError: 'NoneType' object is not iterable
----------------------------------------
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Exception happened during processing of request from ('127.0.0.1', 58437)
Traceback (most recent call last):
File "C:\Python26\lib\site-packages\paste\httpserver.py", line 1062, in proces
s_request_in_thread
self.finish_request(request, client_address)
File "C:\Python26\lib\SocketServer.py", line 320, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Python26\lib\SocketServer.py", line 615, in __init__
self.handle()
File "C:\Python26\lib\site-packages\paste\httpserver.py", line 436, in handle
BaseHTTPRequestHandler.handle(self)
File "C:\Python26\lib\BaseHTTPServer.py", line 329, in handle
self.handle_one_request()
File "C:\Python26\lib\site-packages\paste\httpserver.py", line 431, in handle_
one_request
self.wsgi_execute()
File "C:\Python26\lib\site-packages\paste\httpserver.py", line 289, in wsgi_ex
ecute
for chunk in result:
TypeError: 'NoneType' object is not iterable
----------------------------------------
Du denkst in result ist irgend ein iterable. Ist es aber nun einmal nicht, sondern "None". Kannst das Dir ja auch per print vor der Schleife ausgeben
Ohne Quellcode kann man aber schwerlich sagen, wo der Fehler ensteht oder wieso er auftritt!
Ich habe einfach nur ein Formular an bottle gesendet und der spuckt den Fehler aus.
OOps, nun hab ich erst gesehen, dass das tatsächlich ein Fehler ist, den bottle wohl verursacht oder eben nicht verhindert.
Dennoch kann man ohne Deinen Quellcode sicherlich nicht rausfinden, was da genau schief läuft. Irgend etwas ist eben "leer" und daher später nicht iterierbar.
Ein 500er ist schon ganz ok, da der Entwickler hier einen
Fehler gemacht hat. Im nächsten Release wird das aber von Bottle und nicht vom WSGI Server abgefangen, damit schönere Fehlermeldungen erzeugt werden können.
Trotzdem wird der Fehler nicht anders behandelt, als eine Exception im Handler-Code, denn genau das ist es: Eine unerwartete Ausnahmesituation. So ein Fehler SOLL dem Entwickler um die Ohren fliegen
Was ich auch wenig komisch finde: Wenn ich bottle mit Fapws nutze und nen 500er erzeuge (Programmierfehler halt), bekomme ich keinen 500er sondern ein `None` als Antwort und bottle schreit dann, dass es damit nicht weiterarbeiten könnte. Genau Meldung kann ich dir bei Gelegenheit mal zeigen, aber du könntests das auch selbst testen.
Hallo,
ich habe folgendes Problem:
Ich wollte mal zur übung eine art suchmachine programmieren. Die Suchmachine öffnet immer bei einer Suchanfrage einen Index mit den Suchergebnissen..... nunja... sollte sie zumindest. Wenn ich das Such Modul ganz normal mit meinen Python Intepreter ausführe funktioniert alles wunderbar; doch baue ich das Modul in die Website ein kommt immer eine "500"er Fehlermeldung mit dem Fehler: "Unhandled Exception: IOError(13, 'Permission denied') ".
Nun liegt es nicht daran das ich die Fehlermeldung nicht verstehe sondern daran das ich nicht weiß wie ich den Index "freigeben" kann.
Das sieht nach einer falschen Rechteeinstellung des Verzeichnisses aus, verwendest du SQLite und die Datenbankdatei hat die falschen Rechte für den Webserver?
Ich verwende gar keine Datanbank in diesem sinne. Das Python Script öffnet nur eine bestimmte Datei in einem Ordner.
Von Datanbank prgrammierung verstehe ich gar nicht so viel.
Defnull hat geschrieben:Ein 500er ist schon ganz ok, da der Entwickler hier einen
Fehler gemacht hat. Im nächsten Release wird das aber von Bottle und nicht vom WSGI Server abgefangen, damit schönere Fehlermeldungen erzeugt werden können.
Trotzdem wird der Fehler nicht anders behandelt, als eine Exception im Handler-Code, denn genau das ist es: Eine unerwartete Ausnahmesituation. So ein Fehler SOLL dem Entwickler um die Ohren fliegen
Man muss mit der Fehlermeldung nur was anfangen können und wissen das man schuld ist
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
microkernel hat geschrieben:Ich verwende gar keine Datanbank in diesem sinne. Das Python Script öffnet nur eine bestimmte Datei in einem Ordner.
Dann überprüfe mal die Rechte dafür. Vermutlich hast Du kein Leserecht.
Mit den Leserechten ist alles in ordnung. Wenn ich das Such Module per hand ausführe funktioniert es ja auch.
1) Wenn dein Webserver das Script startet, dann gelten die rechte des Web Servers, nicht die deines eigenen Kontos.
2) Wenn du mod_wsgi benutzt, funktionieren relative Pfade nicht mehr wie erwartet. './datei.txt' muss dann durch '/voller/pfad/zu/datei.txt' ersetzt werden.