Komut satırı çalıştırılması gerektiğini belirtmediğiniz için, aşağıdakiler bir pano veya diğer komut satırı olmayan arayüz için json'da kolayca döndürülebilir. Sonuç ve çıktı gerçekten bir tasarım perspektifinden karıştırılmamalıdır. Küçük bir program olsa bile kötü program tasarımı. Aşağıdaki sonuç daha sonra bir web uygulamasında, komut satırında veya json'u yutan başka bir şeyde kullanılabilir.
Ayrıca, her bir rota ile ilişkili python işlevini bilmeniz gerektiğini belirtmediniz, bu da orijinal sorunuzu daha kesin olarak cevaplar.
Çıkışı izleme panosuna kendim eklemek için aşağıda kullanıyorum. Mevcut rota yöntemlerini (GET, POST, PUT, vb.) İstiyorsanız, yukarıdaki diğer cevaplarla birleştirmeniz gerekir.
Kuralın repr () yöntemi, rotadaki gerekli bağımsız değişkenleri dönüştürmeye özen gösterir.
def list_routes():
routes = []
for rule in app.url_map.iter_rules():
routes.append('%s' % rule)
return routes
Liste kavrayışı kullanan aynı şey:
def list_routes():
return ['%s' % rule for rule in app.url_map.iter_rules()]
Örnek çıktı:
{
"routes": [
"/endpoint1",
"/nested/service/endpoint2",
"/favicon.ico",
"/static/<path:filename>"
]
}
url = url_for(rule.endpoint)
. Bu hatayı aldımBuildError: ('DeleteEvent', {}, None)
. Bunun yerine, az önce yaptığım url'yi almak içinurl = rule.rule
. Yöntemin neden işe yaramadığı hakkında bir fikrin var mı?