此问题已在此处提出: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"所以它肯定会进入自定义视图。但它不打印"内部成功"。
任何帮助表示赞赏!谢谢!
答案 0 :(得分:0)
success_url
是属性,而不是方法。因此,您可以执行以下操作:
class CustomPasswordChangeView(PasswordChangeView):
success_url = '/unknown/'
或者,如果您需要动态URL(例如,具有访问User的权限),则可以覆盖get_success_url()
,这是一个基本上只返回{{1}}属性的类方法。下面是一个例子。
success_url