Django如何在项目文件夹中搜索模块/应用程序
这个问题与下列问题有关 实际上,我有以下项目结构 我想问一下,为什么我必须使用完整路径链接来指向Django如何在项目文件夹中搜索模块/应用程序,django,Django,这个问题与下列问题有关 实际上,我有以下项目结构 我想问一下,为什么我必须使用完整路径链接来指向已安装的应用程序中的应用程序,甚至是django文件中的任何地方 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages
已安装的应用程序中的应用程序,甚至是django文件中的任何地方
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'climemanage.clients',
]
为什么我不能在已安装的应用程序中仅使用import climemanage.clients
(或任何其他导入语句)和使用clients
对于urls.py文件也是一样,我必须使用完整路径作为climemanage.clients.urls
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('clients/', include('climemanage.clients.urls')),
]
为什么不只是客户端.url
?当我尝试只使用clients.url时,它给出了模块未找到的“clients”
,因为Django在项目初始化时做了很多事情,需要按特定顺序加载模块。在设置中导入东西会让事情变得复杂,因为在Django能够做任何事情之前,导入已经执行了代码
因此,INSTALLED_APPS是一个字符串列表,当Django准备加载模块时,这些字符串使用importlib的导入模块
。这是在django.apps.config
中完成的
如果要缩短路径,可以将该路径添加到环境变量中,但请仔细考虑,因为路径越多,出现重复名称的可能性就越大。在配置文件中尝试并保存键入的内容通常不是一项很好的时间和资源投资,因为一旦完成配置,就很难返回到配置文件中。您可以在include方法中编写clients.url。你可以在“已安装”中只写下你的应用程序名称-apps@RezaGH它不允许我写,它给出了客户端
模块未找到错误。为什么你的应用程序位置在你的项目文件夹中。也许你的错误就是因为这个