যেহেতু আপনি এটি নির্দিষ্ট করেননি যে এটি কমান্ড-লাইনটি চালিত হতে হবে, নীচে সহজেই ড্যাশবোর্ড বা অন্যান্য নন-কমান্ড-লাইন ইন্টারফেসের জন্য জসন-এ ফিরে আসা যেতে পারে। ফলাফল এবং আউটপুটটি কোনওভাবেই ডিজাইনের দৃষ্টিকোণ থেকে একত্রিত হওয়া উচিত নয়। এটি একটি ছোট প্রোগ্রাম হলেও এটি খারাপ প্রোগ্রাম ডিজাইন। এরপরে নীচের ফলাফলটি ওয়েব অ্যাপ্লিকেশন, কমান্ড-লাইন বা জেসনকে আটকানো অন্য যে কোনও কিছুতে ব্যবহার করা যেতে পারে।
আপনি প্রতিটি রুটের সাথে যুক্ত অজগর ফাংশনটি জানা দরকার তাও নির্দিষ্ট করেননি, সুতরাং এটি আপনার মূল প্রশ্নের আরও স্পষ্টভাবে উত্তর দেয়।
আমি নিজে একটি পর্যবেক্ষণ ড্যাশবোর্ডে আউটপুট যুক্ত করতে নীচে ব্যবহার করি। আপনি যদি উপলভ্য রুট পদ্ধতিগুলি (জিইটি, পোষ্ট, পুট, ইত্যাদি) চান তবে আপনার উপরের অন্যান্য উত্তরগুলির সাথে এটি একত্রিত করতে হবে।
রুল এর repr () রুট প্রয়োজন আর্গুমেন্ট রূপান্তর যত্ন নেয়।
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
। কোনও ধারণা কেন আপনার পদ্ধতিটি আমার পক্ষে কাজ করে না?