Ponieważ nie określono, że ma być uruchamiany z wiersza polecenia, następujące elementy można łatwo zwrócić w json dla pulpitu nawigacyjnego lub innego interfejsu innego niż wiersz poleceń. Rezultat i rezultat naprawdę nie powinny być mieszane z punktu widzenia projektu. To zły projekt programu, nawet jeśli jest to mały program. Poniższy wynik może następnie zostać użyty w aplikacji internetowej, wierszu polecenia lub czymkolwiek innym, co pobiera json.
Nie określiłeś również, że musisz znać funkcję Pythona powiązaną z każdą trasą, więc to dokładniej odpowiada na twoje pierwotne pytanie.
Używam poniżej, aby samodzielnie dodać dane wyjściowe do panelu monitorowania. Jeśli chcesz poznać dostępne metody tras (GET, POST, PUT itp.), Musisz połączyć je z innymi odpowiedziami powyżej.
Funkcja repr () reguły dba o konwersję wymaganych argumentów w trasie.
def list_routes():
routes = []
for rule in app.url_map.iter_rules():
routes.append('%s' % rule)
return routes
To samo przy użyciu rozumienia list:
def list_routes():
return ['%s' % rule for rule in app.url_map.iter_rules()]
Przykładowe dane wyjściowe:
{
"routes": [
"/endpoint1",
"/nested/service/endpoint2",
"/favicon.ico",
"/static/<path:filename>"
]
}
url = url_for(rule.endpoint)
. Właśnie dostałem ten błądBuildError: ('DeleteEvent', {}, None)
. Zamiast tego, aby uzyskać adres URL, który właśnie zrobiłemurl = rule.rule
. Masz jakiś pomysł, dlaczego twoja metoda nie działa na mnie?