如何在 Django 应用程序中创建分层 URL?
How to create hierarchical urls within django app?
我有多个基于应用程序的 django 项目,并且在一些应用程序中 url 由于模型的数量,方案变得复杂。因此,我正在寻找一种在应用程序.
中创建分层url结构的方法
在我的 项目的 urls 文件 中,我执行以下操作。
from order import urls as order_urls
在 order
应用程序中,我有 urls.py
和 urls
目录,其中包含每个模型的单独 url 模式,如下所示。
在应用程序的 urls.py 文件中,我按如下方式导入模型的 urls。
from urls import rental as rental_urls
urlpatterns = [
url(r'^rental-request/', include(rental_urls)),
]
这给了我错误:ModuleNotFoundError: No module named 'urls'
如果我输入 __init__.py
它会给我循环导入错误。
我不确定这是否符合我的要求way/possible。任何人都可以解释实现它的正确方法吗?
在同一文件夹中有一个名为 urls
的文件夹(带有一个 __init__.py
文件)以及一个文件 urls.py
可能会导致加载模块出现问题 order.urls
从你项目的任何地方。 Python 如何知道必须加载哪个文件?
考虑这个结构:
├── main.py
├── urls
│ └── __init__.py
└── urls.py
每个文件的内容:
# urls/__init__.py
urlpatterns = "I'm in folder"
# urls.py
urlpatterns = "I'm in file"
# main.py
import urls
print(urls.urlpatterns)
当你运行main.py时,结果是:
% python main.py
I'm in folder
可能的解决方案:
您可以删除 urls.py
并将其内容移至 urls/__init__.py
,或重命名文件夹 urls
以避免冲突并相应地更新导入(在 urls.py
中)
我有多个基于应用程序的 django 项目,并且在一些应用程序中 url 由于模型的数量,方案变得复杂。因此,我正在寻找一种在应用程序.
中创建分层url结构的方法在我的 项目的 urls 文件 中,我执行以下操作。
from order import urls as order_urls
在 order
应用程序中,我有 urls.py
和 urls
目录,其中包含每个模型的单独 url 模式,如下所示。
from urls import rental as rental_urls
urlpatterns = [
url(r'^rental-request/', include(rental_urls)),
]
这给了我错误:ModuleNotFoundError: No module named 'urls'
如果我输入 __init__.py
它会给我循环导入错误。
我不确定这是否符合我的要求way/possible。任何人都可以解释实现它的正确方法吗?
在同一文件夹中有一个名为 urls
的文件夹(带有一个 __init__.py
文件)以及一个文件 urls.py
可能会导致加载模块出现问题 order.urls
从你项目的任何地方。 Python 如何知道必须加载哪个文件?
考虑这个结构:
├── main.py
├── urls
│ └── __init__.py
└── urls.py
每个文件的内容:
# urls/__init__.py
urlpatterns = "I'm in folder"
# urls.py
urlpatterns = "I'm in file"
# main.py
import urls
print(urls.urlpatterns)
当你运行main.py时,结果是:
% python main.py
I'm in folder
可能的解决方案:
您可以删除 urls.py
并将其内容移至 urls/__init__.py
,或重命名文件夹 urls
以避免冲突并相应地更新导入(在 urls.py
中)