2012-04-02 10 views
3

Ich bin neu zu cherrypy und versuche, eine einfache Hallo Welt-Anwendung zu mounten, aber es bleibt "NotFound: (404," Der Pfad '/' wurde nicht gefunden. "), aber ich habe es definiert.Cherrypy Rückgabe NotFound: (404, "Der Pfad '/' wurde nicht gefunden.")

Hier ist, was ich habe,

Im __ init __ Py

import cherrypy 
from HomeNetMain import HomeNetMain 

cherrypy.config.update("global.cfg") 
#I have tried "" for the script name parm but that doesn't work 
cherrypy.tree.mount(HomeNetMain,"/","main.cfg") 
cherrypy.engine.start() 
cherrypy.quickstart() 

In einer anderen Datei habe ich

import cherrypy 

class HomeNetMain: 

    @cherrypy.expose 
    def index(self): 
     return "Hello World" 

ich beide mit dem Dekorateur versucht haben, und index.exposed = True ohne Erfolg (Unterfrage, was ist die bevorzugte Methode für cherrypy der Dekorateur oder index.exposed)

global.cfg

[global] 
server.socket_host: "127.0.0.1" 
server.socket_port: 9080 
log.screen: True 
log.error_file: "/tmp/cherrypy.error" 
log.access_file: "/tmp/cherrypy.access" 

main.cfg

[/] 
log.screen: True 
log.error_file: "/tmp/homenet.error" 
log.access_file: "/tmp/homenet.access" 

schätze ich jede Hilfe, danke im voraus.

bearbeiten

ist die volle stacktrace

Traceback (most recent call last): 
File "/usr/local/lib/python2.7/dist-packages/CherryPy-3.2.2-py2.7.egg/cherrypy/_cprequest.py", line 656, in respond 
response.body = self.handler() 
File "/usr/local/lib/python2.7/dist-packages/CherryPy-3.2.2-py2.7.egg/cherrypy/lib/encoding.py", line 188, in __call__ 
self.body = self.oldhandler(*args, **kwargs) 
File "/usr/local/lib/python2.7/dist-packages/CherryPy-3.2.2-py2.7.egg/cherrypy/_cperror.py", line 386, in __call__ 
raise self 
NotFound: (404, "The path '/' was not found.") 

Antwort

4

aus Schaltet sollte ich habe mit cherrypy.quickstart nicht() änderte ich den Code an die folgende und es funktionierte gut

cherrypy.engine.start() 
cherrypy.engine.block() 
+1

ich verwende diese zur Zeit 'cherrypy.quickstart (Control(), config = tutconf)' Wie ändert man die obige Erwähnung? – yvonnezoe

0

Die Klasse HomeNetMain montiert wird, statt der Instanz. Da Index kein Class ist, wird ein Typeerror geworfen, die den Rahmen der Handhabung ist als 404.

cherrypy.tree.mount(HomeNetMain(), "/", "main.cfg") 
+0

Dank für das Update aber das scheint nicht das Problem zu sein, nachdem es zu ändern ich bin immer noch ein 404 ich werde die volle Stacktrace auf die Frage hinzufügen – mitchellsg