Django:没有名为'app'的模块
Django出现了错误,错误信息是:
ImportError at /store/
No module named store
但是在这里有调试信息,显示了设置内容:
INSTALLED_APPS =
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'store')
Environment:
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.4.5
Python Version: 2.7.3
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'store')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
Traceback:
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/home/paul/cs462/store/store/views.py" in main
37. return redirect(reverse('django.contrib.auth.views.login'))
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py" in reverse
476. return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py" in _reverse_with_prefix
363. possibilities = self.reverse_dict.getlist(lookup_view)
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py" in reverse_dict
276. self._populate()
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py" in _populate
253. for name in pattern.reverse_dict:
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py" in reverse_dict
276. self._populate()
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py" in _populate
265. lookups.appendlist(pattern.callback, (bits, p_pattern, pattern.default_args))
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py" in callback
216. self._callback = get_callable(self._callback_str)
File "/usr/lib/python2.7/site-packages/django/utils/functional.py" in wrapper
27. result = func(*args)
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py" in get_callable
105. not module_has_submodule(import_module(parentmod), submod)):
File "/usr/lib/python2.7/site-packages/django/utils/importlib.py" in import_module
35. __import__(name)
Exception Type: ImportError at /
Exception Value: No module named store
命令行运行得很好(我尝试的内容),但是这个错误在我每个页面上都显示出来。难道在应用里有“store”就意味着这个模块已经被导入了吗??
补充说明:我之前用Django做过很多项目。几个小时前这个功能还正常。store/目录下有一个空的 __init__.py
文件。此外,通过使用打印语句,我发现这个文件被执行了(执行了两次)。 urls.py
和 models.py
也被执行了(但 views.py
没有)。我不知道该怎么做才能解决这个错误。
2 个回答
1
感谢保罗·德雷珀的帮助,在我把
re_path('api/(?P<version>(v1|v2))/', include('music.urls'))
改成:
re_path('api/(?P<version>(v1|v2))/', include('musicservices.music.urls'))
之后,问题就解决了。
15
如果没有版本控制,我根本找不到这个问题。实际上,我花了将近一个小时才找到它。
错误出在 store/urls.py 文件里:
urlpatterns = patterns('store.views',
url(r'^$', 'main'),
url(r'^new_delivery_user/$', 'new_delivery_user'),
...
url(r'^event_signal/$', 'store.views.event_signal'), # problem
)
我把最后一个 URL 从项目的 url.py 文件移到了这个特定应用的文件里,并且在每个视图前面用了简写 'store.views'。
它应该是这样显示的:
url(r'^event_signal/$', 'event_signal'),