确定完整的Django URL配置

发布于 2021-01-29 19:35:28

有没有一种方法来获取 完整的 Django URL配置?

例如,Django的调试404页面未显示包含的url配置,因此这不是完整的配置。


:感谢Alasdair,这是一个示例脚本:

import urls

def show_urls(urllist, depth=0):
    for entry in urllist:
        print("  " * depth, entry.regex.pattern)
        if hasattr(entry, 'url_patterns'):
            show_urls(entry.url_patterns, depth + 1)

show_urls(urls.urlpatterns)
关注者
0
被浏览
58
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    Django是Python,因此内省是您的朋友。

    在外壳中,导入urls。通过循环浏览urls.urlpatterns并尽可能深入地查看所包括的url配置的多层,您可以构建完整的url配置。

    import urls
    urls.urlpatterns
    

    该列表urls.urlpatterns包含RegexURLPatternRegexURLResolver对象。

    对于一个RegexURLPattern对象,p您可以使用

    p.regex.pattern
    

    对于表示包含的url配置的RegexURLResolver对象q,您可以使用来显示正则表达式的第一部分

    q.regex.pattern
    

    然后使用

    q.url_patterns
    

    这将返回RegexURLResolverRegexURLPattern对象的进一步列表。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看