回覆列表
  • 1 # 使用者8504024020264

    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必須寫得規範。 容錯性沒怎麼考慮,多交流

  • 中秋節和大豐收的關聯?
  • “曖昧”的“曖”比愛多了個“日”,為何愛還不明朗?