獲取Django所有路由

2021-08-09 20:08:44 字數 790 閱讀 8046

直接上**:

from django.urls import regexurlpattern

defget_all_urls

(patterns, pre_fix, is_firt_time=false,result=):

if is_firt_time:

result.clear()

for item in patterns:

# print(item ,type(item))

part = item._regex.strip('^$')

if isinstance(item, regexurlpattern):

else:

.get_all_urls( item.urlconf_name, pre_fix + part)

return result

使用:

get_all_urls(urlpatterns, pre_fix='/', is_firt_time=true)

說明:

從專案的urls.py中取urlpatterns所有路由;

迴圈,判斷物件型別,如果有巢狀,型別不一樣;

item._regx 取到路由名;

層級多的路由會巢狀外層字首,因此需要拼接;

空列表作為函式形參時,如果不傳值,列表記憶體位址不變;

strip(『^$』) 會去除其中的任一字元

另外,如果再次訪問該路由,值會重複(列表記憶體位址不變 )。增加狀態判斷,第一次執行時清空

遍歷所有路由,並對中文對映

import os import re from bi.models.permission import permissions import re 得到當前路徑 abspath os.getcwd 遍歷當前路徑目錄下的所有 py檔案 def get allfile path result for ...

React 定製私有路由

需求,在非登入情況下不可以進入dashboard.js頁面 有src路徑下建立common資料夾下再建立乙個dashboard.js 期間用到了redux,所以也對應的把redux相關的檔案給貼出來 import react from react 引入路由 import from react rou...

django快速獲取專案所有的URL

django1.10快速獲取專案所有的url列表,可以用於許可權控制 函式如下 import re defget url urllist parent depth 0 url list url dict for entry in urllist url entry.regex.pattern if ...