Ich habe eine View-Klasse geschrieben, die mehrere @ view_configs mit Prädikaten für eine einzelne Route festgelegt hat. Ich habe dann eine Unterklasse, die ein paar der Unterfunktionen überschreibt, was sich darauf auswirkt, wie die Ansicht gemacht wird. Unten ist etwas Ähnliches, aber mit vereinfachtem Code.Pyramid View Klassenvererbung mit @view_defaults und @view_config Dekoratoren
Beim Besuch der Route view_a funktioniert alles einwandfrei. Wenn Sie die Route "view_b" aufrufen, wird "404 Not Found (Nicht gefunden) angezeigt. Die Ressource konnte nicht gefunden werden".
Es scheint, dass die @view_configs nicht "geerbt" und mit dem neuen @view_default verknüpft sind. Gibt es eine einfache Möglichkeit, dies zu beheben, oder muss ich manuell zu config.add_view()
wechseln?
@view_defaults(route_name='view_a', renderer='templates/views.mak')
class View_A(object):
def message(self):
return 'This is view a'
@view_config(request_method='GET')
def get(self):
return {'message': self.message()}
@view_defaults(route_name='view_b')
class View_B(View_A):
def message(self):
return 'This is view b'
Mann, wie hat das nicht mehr Stimmen. Hab noch einen mehr :) –