In CherryPy kann ich raise cherrypy.HTTPError(code, message)
wenn etwas schief geht, oder ich return string
wenn alles klappt.Wie erstelle ich meine eigene HTTP 200-Ergebnisklasse?
Was für jetzt ich suche, ist, wie kann ich eine Klasse zu erstellen, so dass ich das tun kann:
class MyOwnResultClass:
foo = None
def __init__(self, foo):
self.foo = foo
def __str__(self):
return "Result: {f}".format(f=self.foo)
class cherrypystuff(object):
@cherrypy.expose
def index(self):
return MyOwnResultClass("f")
Dies schlägt mit dem
TypeError: iteration over non-sequence
Fehler Und ich habe zu verwenden, return str(MyOwnResultClass("f")
.
Was ist Ihre Motivation ? Ich denke, Sie verstehen die Philosophie von cherrypy falsch. Wie auch immer, du könntest einen Dekorateur benutzen. – webKnjaZ
@webKnjaZ die Motivation ist, dass ich meine eigene Klasse verwenden kann, um eine Antwort zu erstellen, die immer gleich aussieht (in diesem Fall 'Ergebnis:'). Können Sie die CherryPy-Philosophie näher erläutern, wo bekomme ich es falsch? –
Warum brauchen Sie eine Klasse dafür? Zen von CherryPy ist Einfachheit. – webKnjaZ