चूंकि आपने यह निर्दिष्ट नहीं किया था कि इसे कमांड-लाइन चलाया जाना है, इसलिए डैशबोर्ड या अन्य गैर-कमांड-लाइन इंटरफ़ेस के लिए निम्नलिखित को आसानी से json में लौटाया जा सकता है। परिणाम और आउटपुट वास्तव में किसी भी तरह से डिजाइन के नजरिए से कम नहीं होना चाहिए। यह खराब प्रोग्राम डिज़ाइन है, भले ही यह एक छोटा प्रोग्राम हो। नीचे दिए गए परिणाम का उपयोग वेब एप्लिकेशन, कमांड-लाइन या किसी और चीज में किया जा सकता है जो कि जन्स को अंतर्ग्रहण करता है।
आपने यह भी निर्दिष्ट नहीं किया कि आपको प्रत्येक मार्ग से जुड़े अजगर फ़ंक्शन को जानना है, इसलिए यह आपके मूल प्रश्न का सटीक उत्तर देता है।
मैं खुद को मॉनिटरिंग डैशबोर्ड में आउटपुट जोड़ने के लिए नीचे का उपयोग करता हूं। यदि आप उपलब्ध मार्ग विधियाँ (GET, POST, PUT, इत्यादि) चाहते हैं, तो आपको इसे अन्य उत्तरों के साथ संयोजित करना होगा।
नियम के पुनर्मुद्रण () मार्ग में आवश्यक तर्कों को परिवर्तित करने का ध्यान रखता है।
def list_routes():
routes = []
for rule in app.url_map.iter_rules():
routes.append('%s' % rule)
return routes
एक सूची समझ का उपयोग कर एक ही बात:
def list_routes():
return ['%s' % rule for rule in app.url_map.iter_rules()]
नमूना उत्पादन:
{
"routes": [
"/endpoint1",
"/nested/service/endpoint2",
"/favicon.ico",
"/static/<path:filename>"
]
}
url = url_for(rule.endpoint)
। मुझे बस यह त्रुटि मिलीBuildError: ('DeleteEvent', {}, None)
। इसके बजाय, मैं अभी किया url पाने के लिएurl = rule.rule
। किसी भी विचार क्यों अपने तरीके मेरे लिए काम नहीं करता है?