Django URLconf, включая: импорт пакетов не работает

Я делаю простой сайт django, для которого использую расширение django-registration. Я, вероятно, должен добавить, что я только что скопировал исходный код регистрации django в свой проект, как если бы это было мое собственное приложение - я делаю сайт с кем-то другим, и у нас разные среды django настроены по-разному, но мы делимся кодом сайта через svn — я не хотел, чтобы каждый из нас отдельно устанавливал django-registration.

В корневом файле urls.py у меня есть:

import registration
...
urlpatterns = (
   ...
   url(r'^accounts/',include(registration.backends.default.urls),
)

«бэкэнды» и «по умолчанию» — это пакеты внутри приложения регистрации.

В Aptana сообщение об ошибке проверки кода гласит: «Неопределенная переменная из импорта: бэкэнд».

Если я сделаю from registration import backends и include(backends.default.urls), «по умолчанию» не будет найдено.

Это работает, когда я делаю from registration.backends import default и include(default.urls), но я не хочу делать это таким образом, потому что я не смогу быстро увидеть, на что это ссылается...

Почему среда не загружает пакеты должным образом? В том же файле я использую другие URLconf, включая пути, содержащие имена пакетов, такие как include(django.contrib.admin), и с ними нет проблем. Это потому, что я скопировал источник регистрации вместо установки приложения? Если да, то как правильно это сделать, чтобы обеспечить желаемую переносимость исходного кода?


person mz8i    schedule 09.12.2012    source источник


Ответы (1)


Попробуйте указать путь к URL-адресам регистрации в виде строки, а не импортировать модуль регистрации в свой urls.py:

url(r'^accounts/',include('registration.backends.default.urls'),
person Alasdair    schedule 09.12.2012
comment
это решило проблему, спасибо! эээ, еще нужно немного узнать о django... :) - person mz8i; 09.12.2012