我创建了一个自定义后端,以便在不编辑django注册码的情况下使用html激活电子邮件
(参考django+ send email in html with django-registration,最后一个答案)
这是后端,存储在core/registration/backends/htmldefault/__init__.py
中,与存储在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
我要问的是......是否可以在注册包之外设置自定义django-registration后端?或者它必须位于/ registration / backends /简单和默认后端之下?
答案 0 :(得分:2)
有可能。
检查所有文件夹(核心,注册,后端,
htmldefault)有__init__.py
(可以为空)。
核心文件夹位于项目目录中?