命名空间 Django 应用名称
Namespace django app names
我曾尝试搜索此内容,但包括 "django"、"app" 和 "namespace" 在内的搜索都提出了主要与 URLConf 有关的主题,而不是我想知道的内容。
在 Django 设置中,项目中包含的应用程序列在 INSTALLED_APPS
设置中。大多数社区发布的应用不是 "namespaced",因为应用名称仅由字母、数字和下划线组成。 "django.contrib.sites" 等官方应用程序 "namespaced" 使用点语法。我似乎找不到的是:我该怎么做?例如,如果我想创建一个像 "mycompany.app" 这样的应用程序。如果我尝试 ./manage.py "mycompany.app"
,manage.py 的 startapp
命令不允许这样命名,抱怨无效字符。
那么 Python and/or 我缺少 Django 魔法以这种方式创建和使用应用程序吗?或者有什么原因不鼓励这样做,我应该只制作像 "mycompany_app"?
这样的应用程序
创建一个python包mycompany
(即里面有init.py文件的文件夹),里面创建包app
.
django url 中也有命名空间术语,可以在 reverse('namespace:view-name')
等调用中注意到,这里是这些的文档:https://docs.djangoproject.com/en/1.7/topics/http/urls/#url-namespaces
我曾尝试搜索此内容,但包括 "django"、"app" 和 "namespace" 在内的搜索都提出了主要与 URLConf 有关的主题,而不是我想知道的内容。
在 Django 设置中,项目中包含的应用程序列在 INSTALLED_APPS
设置中。大多数社区发布的应用不是 "namespaced",因为应用名称仅由字母、数字和下划线组成。 "django.contrib.sites" 等官方应用程序 "namespaced" 使用点语法。我似乎找不到的是:我该怎么做?例如,如果我想创建一个像 "mycompany.app" 这样的应用程序。如果我尝试 ./manage.py "mycompany.app"
,manage.py 的 startapp
命令不允许这样命名,抱怨无效字符。
那么 Python and/or 我缺少 Django 魔法以这种方式创建和使用应用程序吗?或者有什么原因不鼓励这样做,我应该只制作像 "mycompany_app"?
这样的应用程序创建一个python包mycompany
(即里面有init.py文件的文件夹),里面创建包app
.
django url 中也有命名空间术语,可以在 reverse('namespace:view-name')
等调用中注意到,这里是这些的文档:https://docs.djangoproject.com/en/1.7/topics/http/urls/#url-namespaces