Vì bạn không chỉ định rằng nó phải được chạy dòng lệnh, nên những điều sau đây có thể dễ dàng được trả về trong json cho bảng điều khiển hoặc giao diện không phải dòng lệnh khác. Dù sao, kết quả và đầu ra thực sự không nên được xử lý theo quan điểm thiết kế. Đó là thiết kế chương trình tồi, ngay cả khi đó là một chương trình nhỏ. Kết quả dưới đây sau đó có thể được sử dụng trong một ứng dụng web, dòng lệnh hoặc bất cứ thứ gì khác ăn vào json.
Bạn cũng không xác định rằng bạn cần biết chức năng python liên quan đến từng tuyến đường, vì vậy điều này trả lời chính xác hơn câu hỏi ban đầu của bạn.
Tôi sử dụng bên dưới để thêm đầu ra vào bảng điều khiển giám sát. Nếu bạn muốn các phương thức định tuyến khả dụng (GET, POST, PUT, v.v.), bạn sẽ cần kết hợp nó với các câu trả lời khác ở trên.
Quy tắc repr () đảm nhiệm việc chuyển đổi các đối số cần thiết trong tuyến đường.
def list_routes():
routes = []
for rule in app.url_map.iter_rules():
routes.append('%s' % rule)
return routes
Điều tương tự bằng cách sử dụng một danh sách hiểu:
def list_routes():
return ['%s' % rule for rule in app.url_map.iter_rules()]
Đầu ra mẫu:
{
"routes": [
"/endpoint1",
"/nested/service/endpoint2",
"/favicon.ico",
"/static/<path:filename>"
]
}
url = url_for(rule.endpoint)
. Tôi vừa nhận được lỗi nàyBuildError: ('DeleteEvent', {}, None)
. Thay vào đó, để có được url tôi vừa làmurl = rule.rule
. Bất cứ ý tưởng tại sao phương pháp của bạn không làm việc cho tôi?