1 回答

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
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'
那么這樣調(diào)用:
urlAll('^', 'test.urls')
返回值就是你整個(gè)django工程的url列表,包括apps里面的。
前提是urlpattern必須寫得規(guī)范。 容錯(cuò)性沒怎么考慮,多交流
- 1 回答
- 0 關(guān)注
- 764 瀏覽
添加回答
舉報(bào)