djangoでカスタムユーザモデルを使用しています。 最後に、スーパーユーザーがユーザーのパスワードを変更するための「AdminChangePasswordForm」が機能します。Djangoカスタムユーザadmin change_password
管理者から現在のパスワード変更リンク:myappの:ユーザーが404
答えを与えます。
オーバーライドget_urls
と正しいURLを持っているUserChangeFormをオーバーライドします。
djangoでカスタムユーザモデルを使用しています。 最後に、スーパーユーザーがユーザーのパスワードを変更するための「AdminChangePasswordForm」が機能します。Djangoカスタムユーザadmin change_password
管理者から現在のパスワード変更リンク:myappの:ユーザーが404
答えを与えます。
オーバーライドget_urls
と正しいURLを持っているUserChangeFormをオーバーライドします。
あなたがget_urls()
をオーバーライドする必要がありますので、それは、URL名を設定し1.7.xの "バグ"、および1.8.xに固定し、だそうです:
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()
URL:
password_change_url = urlresolvers.reverse('admin:auth_user_password_change', args=(1,))
いいえ私は1.8を使用しています。できるだけ早く試してみましょう。 – straykiwi
URLはどこに行きますか?カスタムUserAdminに追加しましたが、URLを元に戻すことはできません。 "auth"を "users"(私のアプリ名)に変更しても同じことができます。また、1の静的引数には何がありますか? – straykiwi
1.8を使用している場合や、ユーザーIDでpassword_change_urlを取得する必要がない場合は、この回答は役に立ちません。 「1」は単なる例に過ぎない。 'UserAdmin'を投稿できますか?パスワードの変更リンク:https://github.com/django/django/blob/stable/1.8.x/django/contrib/auth/forms.py#L103、UserAdminのUserChangeForm:https://github.com/django /django/blob/stable/1.8.x/django/contrib/auth/admin.py#L57 – JimmyYe
ので、私も同様の問題がありました。 adminからユーザーパスワードを変更しようとすると、 "/ admin/accounts/siteuser/password /"(siteuserは私のカスタムユーザーモデルの名前です)に404エラーが表示されます: "user object with primary key u 'パスワード 'は存在しません。 この調査では、NamedUserAdminクラスを継承するためにdjango-authtools(1.4.0)のバグが原因で問題が発生していることがわかりました。
from django.contrib.auth.forms import UserChangeForm
from authtools.admin import NamedUserAdmin
class SiteUserAdmin(NamedUserAdmin):
...
form = UserChangeForm
...
または単にデフォルトのDjangoのUSERADMIN継承:
from django.contrib.auth.admin import UserAdmin
class SiteUserAdmin(UserAdmin):
pass
あなたをすることができます(あなたは-authtoolsジャンゴからNamedUserAdminのような任意のカスタムUSERADMINから継承する必要がある場合)
だから、解決策のいずれかでありますユーザーモデルを投稿しますか? –
はい、それだけではありませんが、一般的な考えを見ることができます – straykiwi