django2获取url所有路径

Posted weilaibuxiangshuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django2获取url所有路径相关的知识,希望对你有一定的参考价值。

根据原文链接:https://segmentfault.com/a/1190000017378464,整理

第一步:先导入项目根的urls.py路径

from ceshiproject import urls

第二步:引入 URLPattern,URLResolver

from django.urls.resolvers import URLPattern,URLResolver

第三步:使用递归的方式,把获取所有路径,例子如下:

def get_all_urls(patterns, pre_fix, result):
    for item in patterns:
        print(item.pattern)
        part = item.pattern.regex.pattern.strip("^$")
        print(part, part)
        if isinstance(item, URLPattern):
            result.append(pre_fix + part)
        else:
            get_all_urls(item.url_patterns, pre_fix + part, result=result)
    return result


print(get_all_urls(urls.urlpatterns, pre_fix="/", result=[]))

 

以上是关于django2获取url所有路径的主要内容,如果未能解决你的问题,请参考以下文章