python - 在 Django 中,如何内省(introspection)应用程序 url?

标签 python django

在瓶子或 flask 中我可以做这样的事情:

for route in app.routes:
    description = route.callback.__doc__
    method = method

因此,我可以循环遍历给定应用程序注册的所有 url(路由),并查看其回调函数(Django 术语中的 View )、接受的方法等。

我想知道 django 是否也可以实现同样的功能。所以我想获取给定应用程序的所有网址以及链接到这些网址的所有 View 。这样可以吗?

最佳答案

您需要从项目中导入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)

关于python - 在 Django 中,如何内省(introspection)应用程序 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21733413/

相关文章:

jquery - Django crispy-forms - 自定义按钮

python - Django 检查和备用 Docker Compose 文件 : Debug flag not being set?

iphone - iOS 上的 Python 或 Ruby 解释器

python - 如何在与另一个文件相同的窗口中显示OpenCV摄像机流?

python - Openpyxl 文件未找到错误

python - 获取 Django 对象并将其包装在 QuerySet 中返回的函数?

python - Django 管理站点不显示 ManyToManyField 关系

django - “私有(private)”模型、默认查询集和链接方法

python - Python 和 Django 中的继承和工厂函数

python - 如何使用matplotlib获取包含多个图形的多个窗口?