Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 指定应用程序详细名称时在Django中导入损坏的模型_Python_Django - Fatal编程技术网

Python 指定应用程序详细名称时在Django中导入损坏的模型

Python 指定应用程序详细名称时在Django中导入损坏的模型,python,django,Python,Django,我正在尝试自定义Django 1.7项目中的应用程序名称,如以下文档所示: 我想我已经做到了,但现在我无法将模型从一个应用导入到另一个应用,例如: ImportError: No module named comune.models 我构建了我的项目,使应用程序位于目录树中更深一层,如下所示: project_root ├── apps │   ├── allegato │   ├── calendario │   ├── cliente │   ├── commessa

我正在尝试自定义Django 1.7项目中的应用程序名称,如以下文档所示:

我想我已经做到了,但现在我无法将模型从一个应用导入到另一个应用,例如:

ImportError: No module named comune.models
我构建了我的项目,使应用程序位于目录树中更深一层,如下所示:

project_root
  ├── apps
  │   ├── allegato
  │   ├── calendario
  │   ├── cliente
  │   ├── commessa
  │   ├── comune
  │   ├── laboratorio
  │   ├── recapito
  │   ├── spedizione
  │   ├── strumento
  │   ├── taratura
  │   └── tecnico
  ├── locale
  ├── media
  ├── project
  │   ├── . . . (my project directory)
  ├── static
  └── templates
我想这可能是导致问题的原因,但我试图修复它的努力还没有走得很远

下面是我计划为每个应用程序做的事情,我展示了一个名为“cliente”的应用程序的具体案例(到目前为止我只修改过一个):

\uuuu init\uuuuu.py

default_app_config = 'apps.cliente.apps.ClienteConfig'
from django.apps import AppConfig


class ClienteConfig(AppConfig):
    name = 'apps.cliente'
    verbose_name = "Clienti e prodotti cliente"
default_app_config = 'apps.cliente.config.ClienteConfig'
apps.py

default_app_config = 'apps.cliente.apps.ClienteConfig'
from django.apps import AppConfig


class ClienteConfig(AppConfig):
    name = 'apps.cliente'
    verbose_name = "Clienti e prodotti cliente"
default_app_config = 'apps.cliente.config.ClienteConfig'
回溯:

Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/seether/.virtualenvs/mytime/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
    utility.execute()
  File "/home/seether/.virtualenvs/mytime/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute
    django.setup()
  File "/home/seether/.virtualenvs/mytime/lib/python2.7/site-packages/django/__init__.py", line 21, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/seether/.virtualenvs/mytime/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/home/seether/.virtualenvs/mytime/lib/python2.7/site-packages/django/apps/config.py", line 197, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/home/seether/Projects/mytime/apps/cliente/models.py", line 6, in <module>
    from apps.comune.models import Comune, Cap
ImportError: No module named comune.models
回溯(最近一次呼叫最后一次):
文件“/manage.py”,第10行,在
从命令行(sys.argv)执行命令
文件“/home/seether/.virtualenvs/mytime/lib/python2.7/site packages/django/core/management/_init__.py”,第385行,从命令行执行
utility.execute()
文件“/home/seether/.virtualenvs/mytime/lib/python2.7/site packages/django/core/management/_init__.py”,执行中第354行
django.setup()
文件“/home/seether/.virtualenvs/mytime/lib/python2.7/site packages/django/\uuuu init\uuuuuu.py”,第21行,在安装程序中
应用程序。填充(设置。已安装的应用程序)
文件“/home/seether/.virtualenvs/mytime/lib/python2.7/site packages/django/apps/registry.py”,第108行,填充
app_config.import_models(所有_models)
导入模型中的文件“/home/seether/.virtualenvs/mytime/lib/python2.7/site packages/django/apps/config.py”,第197行
self.models\u module=导入模块(models\u module\u name)
文件“/usr/lib64/python2.7/importlib/_init__.py”,第37行,在导入模块中
__导入(名称)
文件“/home/seether/Projects/mytime/apps/cliente/models.py”,第6行,在
从apps.comune.models导入comune,Cap
ImportError:没有名为comune.models的模块

这里有什么我看不到的错误?

好吧,建议的文件名“apps.py”似乎在某种程度上欺骗了这种奇怪的行为。也许我的应用程序目录也被称为“apps”(如中所建议的)会产生混乱

只需将apps.py文件重命名为config.py并相应地修复_init__uuu.py,如下所示:

project_root
  ├── apps
  │   ├── allegato
  │   ├── calendario
  │   ├── cliente
  │   ├── commessa
  │   ├── comune
  │   ├── laboratorio
  │   ├── recapito
  │   ├── spedizione
  │   ├── strumento
  │   ├── taratura
  │   └── tecnico
  ├── locale
  ├── media
  ├── project
  │   ├── . . . (my project directory)
  ├── static
  └── templates
\uuuu init\uuuuu.py

default_app_config = 'apps.cliente.apps.ClienteConfig'
from django.apps import AppConfig


class ClienteConfig(AppConfig):
    name = 'apps.cliente'
    verbose_name = "Clienti e prodotti cliente"
default_app_config = 'apps.cliente.config.ClienteConfig'

成功了。

几乎没有足够的信息。出于某种原因,您隐藏了应用程序目录的内容,这是重要的部分,并且您没有显示导致错误或回溯的代码。@DanielRoseman我已经添加了请求的信息。您是否在应用程序目录中有一个空白的
\uu init\uuuuuuuuuuuuupy
文件?@DanielRoseman是的,我有。在我尝试改名之前,项目中的一切都很正常。