代码之家  ›  专栏  ›  技术社区  ›  Oli

向Django的管理员添加报告

  •  16
  • Oli  · 技术社区  · 17 年前

    我正在寻找添加一组额外的页面到我的自动生成的管理网站。我想根据我的模型和它周围的一些日志生成报告。实际生成不是问题所在。

    我如何:

    1. 使报告输出看起来像是一个管理页面,带有面包屑、类似格式的表等等?
    2. 注册视图使其显示在头版?
    3 回复  |  直到 17 年前
        1
  •  6
  •   Yoni Samlan    17 年前

    上面的答案没有提到问题2,至少直接……让您的自定义视图显示为管理员首页的“hack”方法可能只是在urlconf中重写它:

    (r'^admin/$', my.custom.admin.homepage),
    

    在正常管理行之前:

    (r'^admin/', admin.site.root),
    

    但是,正确的方法是让您的管理员成为管理员站点的自定义实例,并覆盖索引模板设置。 http://docs.djangoproject.com/en/dev/ref/contrib/admin/#root-and-login-templates

        2
  •  4
  •   Andy Hume    17 年前

    在生成管理的外观和感觉方面,继承管理的父页面并将您自己的模板内容插入适当的块应该是很简单的。

    查看默认管理页面中的标记(包括ID和类属性),并尝试了解如何一致地设置样式。如果你把管理CSS包含在页面上,你应该免费得到很多。

    有关更多信息,请查看管理文档: http://docs.djangoproject.com/en/dev/ref/contrib/admin/

        3
  •  2
  •   Andy Baker    17 年前

    下面是一个基本模板,可以帮助您开始:

        {% extends "admin/base_site.html" %}
        {% load adminmedia %}
    
        {% block extrahead %}
        {% endblock %}
        {% block coltype %}flex{% endblock %}
        {% block bodyclass %}change-list{% endblock %}
        {% block stylesheet %}{% admin_media_prefix %}css/changelists.css{% endblock %}
        {% block extrastyle %}
        <link rel="stylesheet" type="text/css" href="{{settings.MEDIA_URL}}/stylesheets/extra_admin.css" />
        {% endblock %}
        {% block breadcrumbs %}<div class="breadcrumbs"><a href="/admin/">Home</a>&nbsp;&rsaquo;&nbsp;{{page_title}}</div>{% endblock %}
        {% block content %}
        <div id="content-main">
            <h1>{{page_title}}</h1>
            {{page_content}}
        </div>
        {% endblock %}
    
    推荐文章