[从Django应用程序将URLconf include()
到项目的urls.py
时,应将某种应用程序的名称(或名称空间)指定为:
app_namespace
主include((pattern_list, app_namespace), namespace=None)
中的[urls.py
或
app_name
变量在应用程序的urls.py
中。 由于,我猜想是Django 2,尽管我从Django 3文档中复制粘贴了第一个函数签名,但是第二种方法是首选。但这不是重点。
我目前对namespace
的include()
参数的理解是,这就是我在使用reverse()
时使用的。
[app的app_name
中的urls.py
或主app_namespace
中的urls.py
的目的是什么?这些是一回事吗?Django如何使用它?
我在这里找到的现有问题(和答案)解释了我应该如何指定它而不是为什么。
来自https://docs.djangoproject.com/en/3.0/topics/http/urls/#introduction:
URL命名空间使您甚至可以唯一地反向命名URL模式如果不同的应用程序使用相同的URL名称。这是一个好习惯让第三方应用始终使用命名空间的网址(就像我们在教程)。同样,如果多个部署了应用程序实例。换句话说,因为单个应用程序的多个实例将共享命名的URL,命名空间提供了一种区分这些命名URL的方法。