编辑 Django 用户管理模板
Posted
技术标签:
【中文标题】编辑 Django 用户管理模板【英文标题】:Edit Django User admin template 【发布时间】:2010-12-12 18:00:38 【问题描述】:我需要编辑显示的用于编辑特定用户的模板。我需要显示一些不适合包含样式的附加数据。
对于这个简短的问题,我深表歉意……但这就是目前的全部内容。
【问题讨论】:
“不适合”是什么意思?不显示? 我的意思是它不是表单数据——它是报告数据。我想在用户页面上显示来自其他模型的一些用户活动。 【参考方案1】:我会覆盖 admin/auth/user/change_form.html 模板并添加一个自定义模板标签来处理需要执行的任何查询来获取您需要显示的数据。
【讨论】:
【参考方案2】:看看
django/contrib/admin/templates/admin/auth/user/
这应该包含几个用于修改用户的模板。
您可以通过将它们复制到 TEMPLATE_DIR/admin/auth
然后更改它们来覆盖它们。
还有,看看@django/contrib/admin/templates/admin/change_form.html
这是您要复制和更改的文件(到 TEMPLATE_DIR/admin/auth/user/
)以覆盖该模型的更改表单。
【讨论】:
【参考方案3】:如果您不能仅通过子类化admin.ModelAdmin
来完成您想要的,您可以在您的模板目录中创建一个目录“admin/auth”并在其中放置一个“change_form.html”。在此模板中,您可以覆盖可用的块,例如% block after_related_objects %
。
看看django/contrib/templates/admin/change_form.html
看看他们是怎么做的,例如:
% block extrahead % block.super
<script type="text/javascript" src="../../../jsi18n/"></script>
media
% endblock %
将内容附加到 extrahead
块。
【讨论】:
如果它只特定于某个用户,您可能需要将它添加到 TEMPLATE_DIR/admin/auth/user ;) ***的东西。对于奖励积分,知道如何获得当前用户吗?即正在处理的对象。 original 是正在编辑的对象。例如, original.id以上是关于编辑 Django 用户管理模板的主要内容,如果未能解决你的问题,请参考以下文章
Django 管理站点:添加用户页面如何工作(编辑更多字段)?
如何只允许管理员(或某些用户)在 Django 中编辑页面?