16

我希望向我的自动生成的管理站点添加一组额外的页面。我想从我的模型和一些围绕它的日志中生成报告。实际生成不是问题。

我如何:

  1. 让报告输出看起来像是一个管理页面,带有面包屑、类似格式的表格等?
  2. 注册视图以使其显示在首页上?
4

3 回答 3

6

上面的答案没有解决问题2,至少直接......让您的自定义视图显示为管理员首页的“hack”方式可能只是在urlconf中覆盖它:

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

在正常的管理行之前:

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

但是,“正确”的做法是让您的管理员成为 AdminSite 的自定义实例并覆盖 index_template 设置。http://docs.djangoproject.com/en/dev/ref/contrib/admin/#root-and-login-templates

于 2009-01-29T16:47:52.997 回答
4

在生成 admin 的外观和感觉方面,继承 admin 的父页面并将您自己的模板内容插入到适当的块中应该是微不足道的。

查看默认管理页面中的标记(包括 id 和 class 属性),并尝试了解事物的样式是如何一致的。如果您在页面上包含管理 CSS,您应该可以免费获得很多。

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

于 2009-01-28T21:28:15.340 回答
2

这是一个帮助您入门的基本模板:

    {% 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 %}
于 2009-01-30T14:54:39.777 回答