【问题标题】:In Django, how do I introspect application urls?在 Django 中,我如何自省应用程序 url?
【发布时间】:2014-02-13 00:54:34
【问题描述】:
在瓶子或烧瓶中我可以这样做:
for route in app.routes:
description = route.callback.__doc__
method = method
所以我可以遍历给定应用程序的所有 url(路由)注册,并查看它的回调函数(在 Django 行话中查看)、接受的方法等等。
我想知道 django 是否也可以这样做。所以我想获取给定应用程序的所有 url 以及链接到这些 url 的所有视图。可以吗?
【问题讨论】:
标签:
python
django
flask
url-routing
bottle
【解决方案1】:
您需要从项目中导入urls 模块。 urls.urlpatterns 是您正在寻找的。试试这个功能:
import urls # or from app import urls
def print_urls(patterns, indent=0):
for u in patterns:
if u.callback:
print '-'*indent, u.regex.pattern, u.callback
else:
print '='*(indent+1), u.regex.pattern
print_urls(u.url_patterns, indent+3)
print_urls(urls.urlpatterns)