Нет модуля с именем index - PullRequest
       1

Нет модуля с именем index

2 голосов
/ 04 марта 2011

Я получаю сообщение об ошибке Значение исключения: нет модуля с именем index .У меня есть __init__.py в папке DjangoPhoneBook и телефонной книги.Я новичок в Django, и я после учебника на сайте Djangoproject.Я погуглил эту ошибку, но не нашел решения.

Что является причиной и решением этой проблемы ??

Environment:

Request Method: GET
Request URL: http://localhost:8000/Book/
Django Version: 1.2.3
Python Version: 2.6.6
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'phonebook',
 'django.contrib.admin']
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/pymodules/python2.6/django/core/handlers/base.py" in get_response
  91.                         request.path_info)
File "/usr/lib/pymodules/python2.6/django/core/urlresolvers.py" in resolve
  217.                     sub_match = pattern.resolve(new_path)
File "/usr/lib/pymodules/python2.6/django/core/urlresolvers.py" in resolve
  215.             for pattern in self.url_patterns:
File "/usr/lib/pymodules/python2.6/django/core/urlresolvers.py" in _get_url_patterns
  244.         patterns = getattr(self.urlconf_module, "urlpatterns",         self.urlconf_module)
File "/usr/lib/pymodules/python2.6/django/core/urlresolvers.py" in _get_urlconf_module
  239.             self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib/pymodules/python2.6/django/utils/importlib.py" in import_module
  35.     __import__(name)

Exception Type: ImportError at /Book/
Exception Value: No module named index

Содержимое urls.py равно

from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()
from DjangoPhoneBook.phonebook.views import *

urlpatterns = patterns('',
    (r'^Book/$', include('index'))
    (r'^admin/', include(admin.site.urls)),
)

и views.py -

  from django.http import HttpResponse
  def index(request):
     return HttpResponse("This is a view page")

1 Ответ

11 голосов
/ 04 марта 2011

Удалите include из первой строки.include - это синтаксис для добавления отдельного URL-адреса, поэтому python ищет module с именем index.

Измените его на полный путь точки Python для вашей функции просмотра.

urlpatterns = patterns('',
    (r'^Book/$', 'path.to.my.views.index'), # <-- and add a comma here
    (r'^admin/', include(admin.site.urls)),
)

edit: я заметил, что вы импортируете свои функции просмотра.Вы также можете указать саму функцию просмотра

urlpatterns = patterns('',
    (r'^Book/$', index),
    (r'^admin/', include(admin.site.urls)),
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...