"账户激活错误django_registration_email"

2024-04-16 21:49:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经用djangoèu注册和djangoèu注册电子邮件在我的应用程序上实现了身份验证。这是我的密码:

设置.py

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',

#custom apps
'order',
'fiesta',

#3rd party apps
'south',
'jquery',
'djangoformsetjs',

# DEVELOPER TOOLS
'debug_toolbar',
#authentication apps
'registration',
'registration_email',

()

#DJANGO REGISTRATION SETTINGS

ACCOUNT_ACTIVATION_DAYS = 7 # one week activation window

AUTHENTICATION_BACKENDS = (
'registration_email.auth.EmailBackend',
)

LOGIN_REDIRECT_URL = '/'

网址.py

urlpatterns = patterns('',
url(r'^$', lambda x:HttpResponseRedirect("/fiesta/workspace/"), name="home"),
url(r'^admin/', include(admin.site.urls)),
url(r'^accounts/', include('registration_email.backends.default.urls')),
url(r'^fiesta/', include('fiesta.urls')),

()

注册邮件发送正常,但当我点击帐户激活链接时,我得到的错误如下:

Traceback:
File "/home/blaqx/.virtualenv/django5/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
115.response = callback(request, *callback_args, **callback_kwargs)
File "/home/blaqx/.virtualenv/django5/lib/python2.7/site-packages/django/views/generic/base.py" in view
68.return self.dispatch(request, *args, **kwargs)
File "/home/blaqx/.virtualenv/django5/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
86.return handler(request, *args, **kwargs)
File "/home/blaqx/.virtualenv/django5/lib/python2.7/site-packages/registration/views.py" in get
126.success_url = self.get_success_url(request, activated_user)

Exception Type: TypeError at /accounts/activate/bf93e2619ad0b7419b34dc0284e172fae8ecafef/
Exception Value: 'str' object is not callable

在这个错误中,我可以看到在帐户激活期间,引用的是django注册,而不是django注册电子邮件。但是,我不知道这是否是错误的原因,以及如何解决它。任何帮助都将不胜感激。你知道吗


Tags: djangoinpyurlhomevirtualenvlibpackages
1条回答
网友
1楼 · 发布于 2024-04-16 21:49:33

首先,您使用两个包来实现相同的目的(即发送电子邮件激活),这里是packeges

  1. django注册电子邮件
  2. django注册

从上面选择一个包。我选择django注册,这里是dochttps://django-registration.readthedocs.org。你知道吗

并遵循代码说明

设置.py

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',

#custom apps
'order',
'fiesta',

#3rd party apps
'south',
'jquery',
'djangoformsetjs',

# DEVELOPER TOOLS
'debug_toolbar',
#authentication apps
'registration',
#'registration_email',
)

#DJANGO REGISTRATION SETTINGS

ACCOUNT_ACTIVATION_DAYS = 7 # one week activation window

#AUTHENTICATION_BACKENDS = (
#'registration_email.auth.EmailBackend',
#)

LOGIN_REDIRECT_URL = '/'

网址.py

urlpatterns = patterns('',
url(r'^$', lambda x:HttpResponseRedirect("/fiesta/workspace/"), name="home"),
url(r'^admin/', include(admin.site.urls)),
url(r'^accounts/', include('registration.backends.default.urls')),
url(r'^fiesta/', include('fiesta.urls')),
)

相关问题 更多 >