【发布时间】:2010-06-15 18:35:24
【问题描述】:
以前我一直在使用一些旧版本的 django-registration,现在似乎已弃用。因为我的服务器不允许我安装 python 插件,所以我需要使用“注册”作为单独的 django 应用程序。现在我的问题是我需要修改什么才能让注册作为 django-app 运行?我可以将“注册”复制到我的 django 项目目录中,将其添加到设置中并且它应该可以工作吗?以前没有定义“后端”之类的东西,现在后端 init 文件带有函数 get_backend,它以“路径”作为参数。我猜这条路径是通过 url 发送的吧?
url(r'^activate/(?P<activation_key>\w+)/$',
activate,
{'backend': 'registration.backends.default.DefaultBackend'},
name='registration_activate'),
在这个目录里面还有一个带有 DefaultBackend 类的 init 文件,类激活和注册。
http://paste.pocoo.org/show/225790/
他们都使用信号。我需要以任何方式打扰这些信号吗? (我仍然不太明白它们的用途)。 最后一件事。之前注册后,它会以这种方式重定向给定的success_url或设置模板:
return HttpResponseRedirect(success_url or reverse('registration_complete'))
现在负责这个外观的代码:
if success_url is None:
to, args, kwargs = backend.post_registration_redirect(request, new_user)
return redirect(to, *args, **kwargs)
else:
return redirect(success_url)
和 post_registration_redirect :
def post_registration_redirect(self, request, user):
"""
Return the name of the URL to redirect to after successful
user registration.
"""
return ('registration_complete', (), {})
那么,如果它仍然只是简单地重定向到 'registration_complete' ,为什么会以这种方式进行更改? args 和 kwargs 是空的,那何必呢?
【问题讨论】:
标签: django django-apps django-registration