Django-registration:如何包含自定义后端?

时间:2012-04-25 15:13:58

标签: python django django-registration

我创建了一个自定义后端,以便在不编辑django注册码的情况下使用html激活电子邮件

(参考django+ send email in html with django-registration,最后一个答案)

这是后端,存储在core/registration/backends/htmldefault/__init__.py中,与存储在registration/backends/__init__.py

中的DefaultBackend类似
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

引发

我要问的是......是否可以在注册包之外设置自定义django-registration后端?或者它必须位于/ registration / backends /简单和默认后端之下?

1 个答案:

答案 0 :(得分:2)

有可能。

  1. 检查所有文件夹(核心,注册,后端, htmldefault)有__init__.py(可以为空)。

  2. 核心文件夹位于项目目录中?