【发布时间】:2017-05-25 15:52:34
【问题描述】:
这个问题之前在这里提出过:https://github.com/pennersr/django-allauth/issues/468
它已经关闭并且已经有几年历史了,这可以解释为什么它不适合我。 我只是在成功更改密码后尝试重定向到更改密码页面以外的其他页面。
这是我的代码,它不会在成功时重定向页面。
#ursl.py
url(r'accounts/password/change', views.custom_password_change),
url(r'^accounts/', include('allauth.urls'))
...
#views.py
from allauth.account.views import PasswordChangeView
from django.contrib.auth.decorators import login_required
class CustomPasswordChangeView(PasswordChangeView):
print("Getting Here")
@property
def success_url(self):
print('Inside Success')
return '/unknown/'
custom_password_change = login_required(CustomPasswordChangeView.as_view())
提交密码更改后,我的终端正在打印“Getting Here”,因此它肯定会进入该自定义视图。但它没有打印“Inside Success”。
感谢任何帮助!谢谢!
【问题讨论】:
-
请注意,“Getting Here”是在加载模块并定义类时打印的,而不是在视图运行时打印的。
-
您在正则表达式中缺少尾部斜杠 -
r'^accounts/password/change/$'会更好。你也错过了name='account_change_password'。不过我认为这不会解决问题。 -
我做了你建议的更改,但结果相同。
-
您解决了这个问题吗?我有完全相同的问题。
标签: python django redirect django-allauth change-password