1

我不明白 django-registration 如何处理激活失败?比如说,用户只是使用一个虚拟激活密钥并调用浏览器 /activation/“key”中的 url。现在,激活将失败,但用户应该被引导到哪个 url?而且,还应该向用户显示错误消息。正确的?但是,我发现点击激活后,用户只看到了 activate.html。

4

2 回答 2

2

这是函数的文档字符串activate

激活失败时,将渲染模板
registration/activate.html以显示错误消息;要
覆盖 thise,请传递参数template_name(见下文)。

捕获的默认网址:

              url(r'^activate/(?P<activation_key>\w+)/$',
                   activate,
                   {'backend': 'registration.backends.default.DefaultBackend'},
                   name='registration_activate'),

成功时,activate视图重定向到成功 URL,因此activate.html模板的唯一目的是失败。

更新:查看说明,它甚至在“所需模板”部分明确说明了这一点:

注册/activate.html

在帐户激活失败时使用。使用默认设置,具有以下上下文:

activation_key 激活尝试期间使用的激活密钥。

于 2011-02-02T22:27:48.747 回答
0

我认为 django-registration 不能正确处理这个问题。用上游代码提交错误也许是个好主意。

不得不在这里编写一些模板代码作为解决方法。 https://github.com/arky/pootle/commit/8e7f771499206cb6c636a80bc8156db1ecd722b1

于 2013-11-07T23:52:54.847 回答