Правя прост django сайт, за който използвам разширението django-registration. Вероятно трябва да добавя, че току-що копирах източника за django-регистрация в моя проект, сякаш е мое собствено приложение - правя сайта с някой друг и нашите django среди са конфигурирани по различен начин, но споделяме кода на сайта чрез svn - Не исках всеки един от нас да инсталира django-registration поотделно.
В основния файл urls.py имам:
import registration
...
urlpatterns = (
...
url(r'^accounts/',include(registration.backends.default.urls),
)
„backends“ и „default“ са пакети в приложението за регистрация.
В Aptana съобщението за грешка при проверка на код гласи: „Недефинирана променлива от import: backends“ В режима за отстраняване на грешки на моя тестов сървър грешката е „„module“ object has no attribute „backends“ “
Ако направя from registration import backends
и include(backends.default.urls)
, 'default' не е намерен.
Работи, когато правя from registration.backends import default
и include(default.urls)
, но не искам да го правя по този начин, тъй като няма да мога бързо да видя към какво се свързва...
Защо средата не зарежда правилно пакетите? В същия файл използвам други URLconf включват пътища, съдържащи имена на пакети като include(django.contrib.admin)
и няма проблем с тях. Дали защото съм копирал източника на регистрация, вместо да инсталирам приложението? Ако е така, какъв е правилният начин да направите това, който би предложил желаната преносимост на изходния код?