【问题标题】:Add "fake" model entry to admin index将“假”模型条目添加到管理索引
【发布时间】:2017-04-15 12:06:18
【问题描述】:

我想添加一个指向管理员索引页面的链接,其中列出了模型,但我不想创建新模型。这将是一个自定义视图。

这是我想要的结果。在这种情况下,Leaderboards 应该指向 /admin/leaderboards代码用户是有效的模型。

根据to the documentation,我尝试使用以下模板覆盖 index.html 页面。

{% extends "admin/index.html" %}

{% block content %}

    {{ block.super }}

    <div class="app-{{ app.app_label }} module">
    <table>
        <tr>
            <th scope="row"><a href="leaderboards">Leaderboards</a></th>
            <td></td>

        </tr>
    </table>
    </div>

{% endblock %}

但结果是这样的:

我知道我可以替换完整的 index.html 并在那里硬编码特定的行,但很多人不建议这样做。有没有其他选择?

https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#django.contrib.admin.AdminSite.index_template

【问题讨论】:

    标签: python django django-templates django-views django-admin


    【解决方案1】:

    Django actually recommendsindex.html 复制粘贴到应用程序文件夹和硬编码链接。

    在类似的说明中,您可能希望自定义 Django 管理索引页面。

    默认显示INSTALLED_APPS中所有已安装的应用 按字母顺序在管理应用程序中注册。你可以 想要对布局进行重大更改。毕竟指数 可能是管理员最重要的页面,应该是 易于使用。

    要自定义的模板是 admin/index.html。 (做同样的事情 上一节中的 admin/base_site.html – 从 默认目录到您的自定义模板目录)。编辑文件, 你会看到它使用了一个名为 app_list 的模板变量。那 变量包含每个已安装的 Django 应用程序。而不是使用那个, 您可以以任何方式硬编码指向特定于对象的管理页面的链接 你认为是最好的。

    【讨论】:

    • 这就是答案。
    猜你喜欢
    • 2012-02-17
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多