dajngo 搜集所有url路由

2021-03-03 11:29

阅读:447

标签: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


评论


亲,登录后才可以留言!