Нет модуля с URL-адресами
Я следую учебникам Django, я в конце третьей части, в Развязывании URLconfs, http://docs.djangoproject.com/en/1.1/intro/tutorial03/#intro-tutorial03 и Я получаю сообщение об ошибке "Нет модуля с именем urls".
Когда я меняю:
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('mysite.polls.views',
(r'^polls/$', 'index'),
(r'^polls/(?P<poll_id>\d+)/$', 'detail'),
(r'^polls/(?P<poll_id>\d+)/results/$', 'results'),
(r'^polls/(?P<poll_id>\d+)/vote/$', 'vote'),
(r'^admin/', include(admin.site.urls)),
)
в
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r'^polls/', include('mysite.polls.urls')),
(r'^admin/', include(admin.site.urls)),
)
Я изменил include('mysite.polls.urls')),
на include(mysite.polls.urls)),
, но он все еще не работал.
Как решить эту проблему?
ОБНОВЛЕНИЕ 1: Полное сообщение об ошибке находится в http://dpaste.com/166201/
ОБНОВЛЕНИЕ 2: в mysite/polls/urls.py есть
from django.conf.urls.defaults import *
urlpatterns = patterns('mysite.polls.views',
(r'^$', 'index'),
(r'^(?P<poll_id>\d+)/$', 'detail'),
(r'^(?P<poll_id>\d+)/results/$', 'results'),
(r'^(?P<poll_id>\d+)/vote/$', 'vote'),
)
ОБНОВЛЕНИЕ 3: действительно полное сообщение об ошибке, разделенное на скриншотах, находится на
http://i.imagehost.org/0191/python_1.png
http://i.imagehost.org/0426/python_2.png
http://g.imagehost.org/0191/python_3.png
http://g.imagehost.org/0413/python_4.png
http://i.imagehost.org/0370/python_5.png
http://i.imagehost.org/0317/python_6.png
ОБНОВЛЕНИЕ 4: весь проект находится в
http://www.mediafire.com/?t1jvomjgjz1
Ответы
Ответ 1
Я не могу повторно создать ошибку импорта на своей машине, используя ваши файлы проекта (Windows 7, Django 1.1.1, Python 2.6.4). Все импортированные прекрасно, но URL-адреса не были указаны должным образом (как показывает учебник). Фиксация кода:
/mysite/urls.py:
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r'^polls/', include('mysite.polls.urls')),
(r'^admin/', include(admin.site.urls)),
)
/mysite/polls/urls.py:
from django.conf.urls.defaults import *
urlpatterns = patterns('mysite.polls.views',
(r'^$', 'index'),
(r'^(?P<poll_id>\d+)/$', 'detail'),
(r'^(?P<poll_id>\d+)/results/$', 'results'),
(r'^(?P<poll_id>\d+)/vote/$', 'vote'),
)
Посетить http://127.0.0.1:8000/polls/ - Я получил исключение TemplateDoesNotExist, потому что файл шаблона отсутствует.
Я боюсь, что мой ответ может состоять в перезагрузке и повторении попыток.;)
Ответ 2
У меня была аналогичная проблема в корне моего проекта... django жаловался, что не смог найти модуль mysite.urls.
Выключает мою переменную ROOT_URLCONF в settings.py, которая была настроена с использованием значений по умолчанию, была установлена некорректно. Вместо "mysite.urls" это должны были быть просто "URL"
Я изменил его, и вуаля, это сработало.
Ответ 3
Есть ли __init__.py
внутри mysite/polls/directory?
Ответ 4
У меня также была странная проблема с "Нет модуля с именем mysite.urls".
Админ-сайт был отключен и весь мой сайт.
Решение, через несколько часов поиска в Интернете, было на моей стороне: Django кэширует некоторые параметры в файле, который он знает из переменной окружения.
Я только что закрыл свой терминал, в котором я делал приложение runnserver, и открыл новый.
Ответ 5
Я сделал то же самое. Ошибка новичка Python, прочитав вперед. Я создал файл-вызов "polls.url", думая, что это какой-то специальный файл шаблона django.
Я неправильно понял текст:
"Теперь, когда мы отделили это, нам нужно отделить файл polls.urls URLconf, удалив ведущие" опросы/ "из каждой строки и удалив строки, регистрирующие сайт администратора. Ваш файл polls.urls теперь должен выглядеть так:"
Он должен действительно читать:
"Теперь, когда мы отделили это, нам нужно отделить файл polls.urls URLconf, удалив ведущие" опросы/ "из каждой строки и удалив строки, регистрирующие сайт администратора. Ваш файл polls/urls.py теперь должен выглядеть так: это:"
Ответ 6
Как и Райан Багвелл, проблема была (по крайней мере временно) решена путем изменения ROOT_URLCONF в myproject/myproject/settings.py.
Я должен был добавить "myproject" в ROOT_URLCONF, чтобы там:
"% s.myproject.urls" % PROJECT_APP
Ответ 7
Поздно, но я исправил свою проблему, исправив опечатку внутри settings.py INSTALLED_APPS. У меня был "webbapp" вместо "webapp", поэтому вы можете проверить это также (для людей, все еще имеющих проблемы)