如何在django管理员索引中添加新条目?

Apr*_*che 5 python django django-admin

我正在处理Django项目,并且已经使用文档中描述get_urls覆盖方法创建了一些自定义管理视图。它运作完美。只有一个问题。除非您已经知道URL,否则无法进入此自定义管理员视图。

我已经知道有一些方法可以在管理员中的某处添加到该视图的链接,但是没有一种令人满意。我希望所有模型管理员都可以在模型列表中看到指向自定义视图的链接。我只是不希望它旁边有+ add或+ change链接,因为它不是模型。

我可以覆盖admin_site或模板,但这不好。它将自定义置于项目级别而不是应用程序级别。它还只会将链接放在/ admin /页面上,而不放在/ admin / myapp /页面上。

我也可以通过覆盖app_index.html模板轻松地将链接添加到其他位置,但这并不是一个方便或直观的查找位置。

我想到的另一个解决方案是创建一个空白模型并为其注册一个空白管理员。然后窃取该模型的url模式,以便单击其条目进入我的自定义视图,而不是空白的添加/更改视图。那行得通,但这是一个令人难以置信的丑陋的骇客。

这是我要实现的目标的图片。

自定义Django管理员列表

mad*_*ain 2

我仍然认为正确的方法是覆盖 django 管理模板的某些部分。添加这些链接没有简单的方法。

https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-vs-replacing-an-admin-template

我还发现这篇文章http://coffeeonthekeyboard.com/o-hai-django-adminplus-568/这也表明 django-adminplus 是执行此操作的好工具。就我个人而言,我更喜欢清除任何额外的依赖项,并且仍然会使用模板 - 但这取决于您。