Django将urls.py拆分为子模块

时间:2019-04-02 04:19:25

标签: python django

假设我的urls.py很长,很想拆分成

urls/
    a_urls.py
    b_urls.py
    c_urls.py

这可能吗?

注意:urls.py中有app_name。

1 个答案:

答案 0 :(得分:1)

我认为以下方法会起作用。从理论上讲,当在模块/软件包urls中查找内容时,它将在该软件包内部的__init__.py文件中查找。我假设在上述文件中,您有一个列表urlpatterns,其中列出了您的网址。

__ init __。py 中:

from .a_urls import urlpatterns as a_urls
from .b_urls import urlpatterns as b_urls
from .c_urls import urlpatterns as c_urls


app_name = 'your_app_name'


urlpatterns = [
    # all your other urls
]

urlpatterns += a_urls
urlpatterns += b_urls
urlpatterns += c_urls

我认为由于性能原因,您可以使用urlpatterns.extend(a_urls)等。