在Django中能否添加URL目录而非urls.py文件?
Django路由引入目录而非指定urls.py的实现方法
通常我们配置Django路由时会这样写:
path("", include("app.urls"), name="") # urls 对应 urls.py 文件
如果想直接引入目录(比如app.folder,其中urls.py存放在该目录下),是可以实现的,具体步骤如下:
- 第一步:将目标目录
app/folder变成Python包,也就是在该目录下创建__init__.py文件(文件可以是空的,但必须存在)。 - 第二步:在
app/folder/__init__.py中导入该目录下urls.py里的urlpatterns变量,代码如下:from .urls import urlpatterns
完成这两步后,就可以直接使用以下路由配置了:
path("", include("app.folder"), name="") # urls.py 文件存放在该目录下
这样Django在解析include("app.folder")时,会自动读取app.folder模块(也就是__init__.py)中暴露的urlpatterns,从而加载对应目录下的路由规则。
内容的提问来源于stack exchange,提问作者Tintin
相关产品推荐
相关产品推荐

