3
A
回答
5
子類UserAdmin,你可以從
django.contrib.auth.admin
導入它加入你添加的動作,通過reverse engineering the password_reset view使用PasswordResetForm。
從admin.site註銷用戶,
admin.site.register(User)
註冊您的子類作爲的ModelAdmin用戶
下面是推動使用註銷的例子(感謝克里斯·普拉特/ register):
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)
相關問題
- 1. Django。打印所有管理員操作。
- 2. Django管理員DoesNotExist在/管理員/
- 3. Django管理員url.py
- 4. 爲Django的管理員操作編寫測試
- 5. django管理員對所有過濾對象的操作
- 6. Django中的默認「刪除選定」管理員操作
- 7. 將Django管理員操作限制爲一個檢查對象
- 8. 定製Django管理員操作返回無效文字錯誤
- 9. Django管理員操作中的自定義錯誤消息
- 10. 在django管理員表單中響應用戶操作?
- 11. django管理員操作複選框沒有顯示在chaneglist_view
- 12. 在模板上顯示Django管理員操作
- 13. SonataUserAdminBundle:鏈接到管理員操作
- 14. 活動管理員覆蓋操作
- 15. 中國的Django管理員不工作
- 16. 添加自定義Django管理操作
- 17. 單個對象Django管理操作
- 18. 創建django管理員喜歡非管理員前端用戶的操作 - 如何
- 19. 鏈接到Django管理員
- 20. NameError:管理員在Django
- 21. 方法在Django管理員
- 22. Django自定義管理員
- 23. Django管理員顏色
- 24. django:管理員控件css?
- 25. Django管理員表功能
- 26. 問題Django管理員
- 27. 從Django中對管理員
- 28. Django管理員CSS丟失
- 29. Django管理員用戶
- 30. Django管理員登錄
還有n o需要猴子補丁'UserAdmin'。只需將其子類化並根據需要覆蓋任何屬性或方法。然後,你只需要'admin.site.unregister(UserAdmin)'和'admin.site.register(User,MyUserAdmin)'。 – 2012-03-02 15:35:35
我不確定有什麼區別,可能它沒有猴子補丁稍微乾淨。謝謝 ! – jpic 2012-03-02 15:38:14
我會做註銷的東西... @jpic這使我與: 'PasswordResetForm'對象沒有屬性'users_cache' – Timbadu 2012-03-02 15:38:19