我成功地使用了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)