def urlAll(pattern, urlconf_name):
exec("import %s" %urlconf_name)
urlmod = eval(urlconf_name)
urlpatterns = urlmod.urlpatterns
url_all = []
for urlpattern in urlpatterns:
newpattern = pattern+urlpattern.regex.pattern[1:]
if hasattr(urlpattern, "urlconf_name"):
# 存在urls子模組,遞迴該方法
url_all.extend(urlAll(newpattern, urlpattern.urlconf_name))
else:
url_all.append(newpattern)
return url_all
使用方法:
比如你的ROOT_URLCONF=‘test.urls"
那麼這樣呼叫:
urlAll("^", "test.urls")
返回值就是你整個django工程的url列表,包括apps裡面的。
前提是urlpattern必須寫得規範。 容錯性沒怎麼考慮,多交流
def urlAll(pattern, urlconf_name):
exec("import %s" %urlconf_name)
urlmod = eval(urlconf_name)
urlpatterns = urlmod.urlpatterns
url_all = []
for urlpattern in urlpatterns:
newpattern = pattern+urlpattern.regex.pattern[1:]
if hasattr(urlpattern, "urlconf_name"):
# 存在urls子模組,遞迴該方法
url_all.extend(urlAll(newpattern, urlpattern.urlconf_name))
else:
url_all.append(newpattern)
return url_all
使用方法:
比如你的ROOT_URLCONF=‘test.urls"
那麼這樣呼叫:
urlAll("^", "test.urls")
返回值就是你整個django工程的url列表,包括apps裡面的。
前提是urlpattern必須寫得規範。 容錯性沒怎麼考慮,多交流