2012-04-25 7 views
2

Я создал пользовательский бэкенд, чтобы иметь электронную почту активацию в HTML без редактирования Джанго-регистрационного кодаDjango-registration: как включить пользовательский бэкэнд?

(см. django+ send email in html with django-registration, последний ответ)

это бэкенд, хранится в core/registration/backends/htmldefault/__init__.py, как DefaultBackend, который хранится в registration/backends/__init__.py

from registration.forms import RegistrationForm 
from core.models import HtmlRegistrationProfile 

class HtmlDefaultBackend(object): 
    #etc same as DefaultBackend but using HtmlRegistrationProfile instead of RegistrationProfile 

и это мой urls.py

urlpatterns = patterns('', 
    #... 
    url(r'^accounts/register/$', register, {'backend': 'core.registration.backends.htmldefault.HtmlDefaultBackend','form_class': UserRegistrationForm}, name='registration_register'), 
    url(r'^accounts/', include('registration.urls')), 
    #... 
) 

Но я получаю

ImproperlyConfigured at /accounts/register/ 

Error loading registration backend core.registration.backends.htmldefault: "No module named registration.backends.htmldefault" 

брошенную /registration/backends/__init__.py in get_backend, line 27

То, что я спрашиваю .. это возможно, чтобы иметь собственный Джанго-регистрация бэкенд вне пакета регистрации? Или он должен жить под/registration/backends/как простые и стандартные бэкэнды?

ответ

2

Возможно.

  1. Проверьте, если все ваши папки (ядро, регистрация, движками, htmldefault) имеют __init__.py (может быть пустым).

  2. Основная папка находится в каталоге проекта?

+1

2 глупые ошибки .. первая ваша точка 1, я не создал __init__.py в каждой папке (это был очень плохой промах), то этот путь создал конфликты с регистрационным пакетом .. теперь все работаю, спасибо – apelliciari