【发布时间】:2016-12-08 23:42:35
【问题描述】:
我有一个使用 apache 和 mod_wsgi 配置的工作夹层项目。我试图在项目中添加一个应用程序并重新启动 apache,但即使在撤消更改后,项目也会突然抛出错误。当我尝试运行 python manage.py check 时出现同样的错误:
Traceback (most recent call last):
File "manage.py", line 14, in <module>
execute_from_command_line(sys.argv)
File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
utility.execute()
File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 242, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 284, in execute
self.validate()
File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 310, in validate
num_errors = get_validation_errors(s, app)
File "/usr/lib/python2.7/dist-packages/django/core/management/validation.py", line 34, in get_validation_errors
for (app_name, error) in get_app_errors().items():
File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 196, in get_app_errors
self._populate()
File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 75, in _populate
self.load_app(app_name, True)
File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 97, in load_app
app_module = import_module(app_name)
File "/usr/lib/python2.7/dist-packages/django/utils/importlib.py", line 40, in import_module
__import__(name)
File "/usr/local/lib/python2.7/dist-packages/mezzanine/boot/__init__.py", line 16, in <module>
from django.apps import apps
ImportError: No module named apps
django的路径:“/usr/local/lib/python2.7/dist-packages/django”,里面有名为“apps”的文件夹,里面有“init.py”文件文件夹。
然后我创建了一个全新的夹层项目并运行 python manage.py 检查,并得到相同的错误。这意味着没有任何夹层项目正在运行。我尝试更新和重新安装 django 和夹层但没有用。另一方面,一个简单的 django 项目运行良好。 夹层似乎有一些问题。 我经历了其他相关问题,但无法解决。任何帮助将非常感激。提前致谢。
【问题讨论】:
-
错误是不言自明的
django.apps没有apps模块(它有config和registry)。您应该确定要导入什么。 可能是这个from django.apps import AppConfig. -
感谢您的回复。这行
from django.apps import apps预先存在于夹层目录内的许多文件中。我什至尝试删除或更改此行,但文件太多,更改它会产生一些其他错误。 -
@KapilSachdev
apps是django/apps/__init__.py中的一个属性,请参阅this。 @OP 你用的是什么版本的 Django?