dajngo 搜集所有url路由
2021-03-03 11:29
标签:instance 函数 实例 als 返回 搜集 dict hello views 1,在views 中定义一个接口(随便定义) 2,接口实例如下:(index是接口返回HTTPResponse,get_all_url是触发搜集url的函数) 3,最后返回的res列表就是搜集的所有url dajngo 搜集所有url路由 标签:instance 函数 实例 als 返回 搜集 dict hello views 原文地址:https://www.cnblogs.com/wjun0/p/14267962.htmldef 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