Подтвердить что ты не робот

Нет модуля с 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

4b9b3361

Ответ 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", поэтому вы можете проверить это также (для людей, все еще имеющих проблемы)