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

Правя прост 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) и няма проблем с тях. Дали защото съм копирал източника на регистрация, вместо да инсталирам приложението? Ако е така, какъв е правилният начин да направите това, който би предложил желаната преносимост на изходния код?


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