Ich versuche, die Pyramid-Introspektions-Schnittstelle zu verwenden, um eine Liste aller Ansichten für einen bestimmten Ressourcentyp von einem Ansichtsaufruf zu erhalten. Ich kann Folgendes verwenden, um eine Menge von Introspektionsdaten für hinzugefügte Ansichtskonfigurationen zu erhalten:
@view_config(...)
def view_callable(context, request):
introspector = request.registry.introspector
for view_int in introspector.get_category('views'):
view_int = view_int['introspectable']
Obwohl ich keine offizielle Dokumentation zum Format des Diskriminators gefunden habe, scheint es von hier aus, dass view_int.discriminator[1] der Typ des Kontexts aus der Traversierung ist, view_int.discriminator[2] der Ansichtsname, view_int.discriminator[3] der Routenname usw. sind.
Wie bekommt man dann die Ansichtsaufruffunktion selbst für diese Ansicht? IIntrospectable bietet anscheinend keine Möglichkeit, dies zu bekommen?
Gibt es einen besseren Weg, um eine Liste aller registrierten Ansichtsaufraufe basierend auf dem Routennamen, dem Kontexttyp usw. zur Laufzeit zu erhalten?