【问题标题】:Edit Django User admin template编辑 Django 用户管理模板
【发布时间】:2010-12-12 18:00:38
【问题描述】:

我需要编辑显示的用于编辑特定用户的模板。我需要显示一些不适合包含样式的附加数据。

对于这个简短的问题,我深表歉意……但这就是目前的全部内容。

【问题讨论】:

  • “不适合”是什么意思?不显示?
  • 我的意思是它不是表单数据——它是报告数据。我想在用户页面显示来自其他模型的一些用户活动。

标签: django django-admin django-templates


【解决方案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 }}
      猜你喜欢
      • 2011-09-28
      • 2018-11-30
      • 2015-09-01
      • 1970-01-01
      • 2017-08-17
      • 1970-01-01
      • 2012-09-11
      • 2023-03-23
      • 2011-03-12
      相关资源
      最近更新 更多