首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Django admin中更改'SuperUser‘标签和描述

在Django admin中更改'SuperUser‘标签和描述
EN

Stack Overflow用户
提问于 2014-07-16 22:31:19
回答 2查看 506关注 0票数 0

我想在Django admin中更改is_superuser字段的标签和描述。

我已经看到这个问题asked before,但这并不是我需要的。

我想要的是将“超级用户状态”字符串更改为其他字符串,并将此字符串更改为“指定此用户拥有所有权限,而无需显式分配这些权限。”

因为这是Django定义的User类,所以我不确定'verbose_name‘会有什么帮助。至少在这种情况下我不知道该怎么做。

希望你们能帮上忙。

感谢您的阅读。

EN

回答 2

Stack Overflow用户

发布于 2015-08-20 10:14:50

这可以通过覆盖django的UserAdmin的自定义子类上的get_form()来完成,如下所示:

代码语言:javascript
复制
# admin.py
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin

class MyUserAdmin(UserAdmin):
    def get_form(self, request, obj, **kwargs):
        form = super(MyUserAdmin, self).get_form(request, obj, **kwargs)
        form.base_fields['is_superuser'].label = 'My label'
        form.base_fields['is_superuser'].help_text = 'My help text'
        return form

# NOTE: You may need to unregister the existing UserAdmin 
# before registering this custom one
admin.site.register(User, MyUserAdmin)

注意,get_form()返回的表单没有fields属性,这就是访问base_fields的原因。对于像labelhelp_text这样的微小变化,正如Douglas Adams可能会说的那样,修改base_fields基本上是无害的。

票数 1
EN

Stack Overflow用户

发布于 2014-07-16 22:56:01

:肮脏的方式

如果你使用虚拟环境,你可以直接在虚拟环境中的django文件夹中更改相关的.po& .mo文件。但是,你必须锁定django版本,至少在需求文件中不能覆盖。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24783496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档