我希望在自动生成的管理网站上添加一组额外的页面。我想从我的模型和周围的一些日志生成报告。实际生成不是问题。
我如何:
答案 0 :(得分:6)
上面的回答没有解决问题2,至少是直接的...“hack”方式让你的自定义视图显示为管理员的首页可能只是在urlconf中覆盖它: / p>
(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
答案 1 :(得分:4)
在生成管理员的外观和感觉方面,继承管理员的父页面并将自己的模板内容插入相应的块应该是微不足道的。
查看默认管理页面中的标记(包括id和class属性),并尝试了解事物的样式是如何一致的。如果你在页面上包含管理员CSS,你应该免费获得大量的。
有关详细信息,请查看管理员文档:http://docs.djangoproject.com/en/dev/ref/contrib/admin/
答案 2 :(得分: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> › {{page_title}}</div>{% endblock %}
{% block content %}
<div id="content-main">
<h1>{{page_title}}</h1>
{{page_content}}
</div>
{% endblock %}