Django自定义用户admin change_password

str*_*iwi 5 python django

我成功地使用了django的自定义用户模型.最后一件工作是"AdminChangePasswordForm",供超级用户更改任何用户密码.

目前来自admin:myapp:user的更改密码链接给出了404

答案.

覆盖get_urls

并覆盖UserChangeForm以获得正确的URL.

小智 2

看来这是1.7.x中的一个“错误” ,并在1.8.x中修复,它设置了 url 名称,因此您必须覆盖get_urls()

from django.contrib.auth.admin import UserAdmin as AuthUserAdmin
from django.conf.urls import url


class UserAdmin(AuthUserAdmin):
    def get_urls(self):
        return [
            url(r'^(.+)/password/$', self.admin_site.admin_view(self.user_change_password), name='auth_user_password_change'),
        ] + super(UserAdmin, self).get_urls()
Run Code Online (Sandbox Code Playgroud)

网址:

password_change_url = urlresolvers.reverse('admin:auth_user_password_change', args=(1,))
Run Code Online (Sandbox Code Playgroud)