在自定义管理页面中显示正确的 django 身份验证框架信息

Posted

技术标签:

【中文标题】在自定义管理页面中显示正确的 django 身份验证框架信息【英文标题】:Displaying the correct django authentication framework information in custom admin page 【发布时间】:2022-01-16 13:31:00 【问题描述】:

我正在尝试通过以下方式在 Admin 后端表中显示密码,其中包含算法、迭代、盐和哈希:

但是,我当前的页面如下所示:

如您所见,它只是散列密码,不像上面那样显示任何信息。谁能看出我哪里出错了?

请在下面找到我的代码:

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from hobbies.models import extendedUser, User, Hobby
from .forms import LoginForm, SignUpForm
from django.forms import ModelForm
from django.contrib.auth.forms import ReadOnlyPasswordHashField

#admin.site.register(User,UserAdmin)



class CustomUserAdmin(UserAdmin):
    add_form = SignUpForm
    form = LoginForm
    model = extendedUser
    readonly_fields = ["password"]
    list_display = ('email', 'is_staff', 'is_active',)
    list_filter = ('email', 'is_staff', 'is_active',)


    fieldsets = (
        (None, 'fields': ('email', 'password', 'city')),
        ('Permissions', 'fields': ('is_staff', 'is_active')),
    )

    add_fieldsets = (
        (None, 
            'classes': ('wide',),
            'fields': ('email', 'password', 'is_staff', 'is_active')
        ),
    )
    search_fields = ('email',)
    ordering = ('email',)

admin.site.register(User, CustomUserAdmin)

感谢您的宝贵时间, 亚历克斯

【问题讨论】:

你为什么不看一下源代码它们是如何显示的呢?只是一个想法 @Swift 你的意思是从网络浏览器的控制台查看代码吗? 【参考方案1】:

我认为他们使用此功能使用显示:

get_session_auth_hash()django.contrib.auth.base_user 中基本抽象用户的一部分

【讨论】:

以上是关于在自定义管理页面中显示正确的 django 身份验证框架信息的主要内容,如果未能解决你的问题,请参考以下文章

如何在自定义页面 Django 中使用管理表单

在自定义模板标签中解析 Django 自定义模板标签

如何在自定义模板中使用 Django 的管理员布尔图标?

Django,自定义身份验证登录。身份验证失败时如何显示错误消息?

如何在自定义 Spring security 3.0 身份验证中正确处理异常?

在自定义 Django 表单中验证和显示错误