3
こんにちは私は、ユーザーの管理者からパスワードリセット電子メールを送信し、アクションを設定したいと思います。django admin action
password_resetビューを使用できるかどうか判断できません。ビューを使用してクエリーセットをループして、トークンを生成して電子メールを送信できますか?
こんにちは私は、ユーザーの管理者からパスワードリセット電子メールを送信し、アクションを設定したいと思います。django admin action
password_resetビューを使用できるかどうか判断できません。ビューを使用してクエリーセットをループして、トークンを生成して電子メールを送信できますか?
サブクラスUSERADMIN、あなたはreverse engineering the password_reset viewでPasswordResetFormを使用し、追加したアクションを追加django.contrib.auth.admin
からそれをインポートすることができます。 admin.siteから
登録解除ユーザー、admin.site.register(User)
ユーザー
ためModelAdminのは、ここで登録解除の使用をプッシュするための一例(おかげでクリス・プラットだとして、あなたのサブクラスを登録/レジスタ):
from django.contrib.auth.forms import PasswordResetForm
from django.contrib.auth.tokens import default_token_generator
from django.conf import settings
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
class YourUserAdmin(UserAdmin):
actions = list(UserAdmin.actions) + ['send_reset_password']
def send_reset_password(modeladmin, request, queryset):
for user in queryset:
form = PasswordResetForm({'email': user.email})
form.full_clean()
form.save({
'use_https': request.is_secure(),
'token_generator': default_token_generator,
'from_email': settings.DEFAULT_FROM_EMAIL,
'email_template_name': 'registration/password_reset_email.html',
'request': request
})
admin.site.unregister(User)
admin.site.register(User, YourUserAdmin)
nサルパッチ 'UserAdmin'が必要です。それをサブクラス化し、必要に応じて任意の属性またはメソッドをオーバーライドするだけです。次に、 'admin.site.unregister(UserAdmin)'と 'admin.site.register(User、MyUserAdmin)'だけです。 –
どういう違いがあるのか分かりませんが、おそらくサルのパッチがなくてもやや清潔です。ありがとう! – jpic
私は未登録のことをしたいと思います... @jpicこれは私に残します: 'PasswordResetForm'オブジェクトには 'users_cache'属性がありません – Timbadu