码迷,mamicode.com
首页 > Web开发 > 详细

dajngo 搜集所有url路由

时间:2021-01-13 11:36:17      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:instance   函数   实例   als   返回   搜集   dict   hello   views   

1,在views 中定义一个接口(随便定义)

2,接口实例如下:(index是接口返回HTTPResponse,get_all_url是触发搜集url的函数)

def index(request):
    from demo.urls import urlpatterns   # 导入总路由的urlpatterns
    print(get_all_url(urlpatterns, prev=/))
    return HttpResponse(hello django)


def get_all_url(urlparrentens,prev,is_first=False,result=[]):

    for item in urlparrentens:
        v = item._regex.strip(^$)#去掉url中的^和$
        if isinstance(item,RegexURLPattern):
            result.append(prev + v)

        # 处理总路由为:url(r‘^‘, include(‘requresp.urls‘) 形式的
        elif isinstance(item, RegexURLResolver):
            dic = item.reverse_dict.values()
            for i in dic:
                print(i[1])
                result.append(item._regex + i[1])
    print(result)
    res = []
    for item in result:
        res.append(item.strip(^$))
    return res

3,最后返回的res列表就是搜集的所有url

dajngo 搜集所有url路由

标签:instance   函数   实例   als   返回   搜集   dict   hello   views   

原文地址:https://www.cnblogs.com/wjun0/p/14267962.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有
迷上了代码!