Django的 - 导入错误:没有名为*模块.urls
问题描述:
我通过official Django tutorial工作,稍微适应它使用Django版本1.6.1,2.7.6的Python我自己的需要。Django的 - 导入错误:没有名为*模块.urls
我在这个地步,它有我的映射网址,但我仍然收到“没有模块命名customers.urls”错误时,有一个非常明确的模块内有一个合适的命名文件,所以我真的在失去了我做错了什么。
我最初的想法是,我需要进口一些客户相关的根/ urls.py,但进口的每一个组合中导致大致相同的错误,并且教程并没有说要怎么做。
ROOT_URLCONF =“taco.urls”(玉米饼是该项目的名称)
我运行这个使用manage.py/runserver所以没有特殊的Web服务器权谋事,我所知道的。我重新启动了好几次。
的应用程序都是正确注册,因为回溯可以证明。
任何指针,以我俯瞰东西,将不胜感激!
根/ urls.py:
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^customers/', include('customers.urls')),
url(r'^admin/', include(admin.site.urls)),
)
客户/ urls.py:
from django.conf.urls import patterns, url;
from customers import views;
urlpatterns = ('',
url(r'^$', views.index, name='index')
);
客户/ views.py:
from django.shortcuts import render
from django.http import HttpResponse;
def index(request):
return HttpResponse("Hello");
回溯
Environment:
Request Method: GET
Request URL: http://192.168.3.208:8000/customers/
Django Version: 1.6.1
Python Version: 2.7.6
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'south',
'taco.customers',
'taco.inventory',
'taco.lookups',
'taco.orders')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback:
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
99. resolver_match = resolver.resolve(request.path_info)
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in resolve
337. for pattern in self.url_patterns:
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in url_patterns
365. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in urlconf_module
360. self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib/python2.7/dist-packages/django/utils/importlib.py" in import_module
40. __import__(name)
File "/var/project/taco/taco/urls.py" in <module>
7. url(r'^customers/', include('customers.urls')),
File "/usr/lib/python2.7/dist-packages/django/conf/urls/__init__.py" in include
26. urlconf_module = import_module(urlconf_module)
File "/usr/lib/python2.7/dist-packages/django/utils/importlib.py" in import_module
40. __import__(name)
Exception Type: ImportError at /customers/
Exception Value: No module named customers.urls
答
在客户/ urls.py:
更改此:
urlpatterns = ('',
url(r'^$', views.index, name='index')
);
对于这一点:
urlpatterns = patterns('',
url(r'^$', views.index, name='index')
);
此外,麦e确定您的包装中有您的__init__.py
文件customers
。并且INSTALLED_APPS
正确填写了您的应用程序名称。
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'south',
'customers',
'inventory',
'lookups',
'orders',
)
答
如果塔科是项目检查的所有应用被正确引用所以在你安装的应用程序,你可能需要以下的名称:
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'south',
'customers',
'inventory',
'lookups',
'orders')
将'customers''添加到'Installed Applications'中 – shaktimaan 2014-09-05 20:48:12
它已经添加为“taco.customers”。 – Ivan 2014-09-05 20:50:12
两件事1.我认为你需要在安装的应用程序中添加'taco'。 2.您可能需要在主urls.py中执行include('taco.customers.urls')' – shaktimaan 2014-09-05 20:52:54