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

我正在开发一个Django项目,并且我使用
get_urls override method described in the documentation创建了一些自定义管理员视图.它运行良好.只有一个问题.除非您已经知道URL,否则无法访问此自定义管理视图.

我已经知道有一些方法可以在管理员的某个地方添加这个视图的链接,但是没有一个是令人满意的.我想要一个自定义视图的链接,以便与所有模型管理员一起出现在模型列表中.我只是不希望它在它旁边添加或更改链接,因为它不是模型.

我可以覆盖admin_site或模板,但这不是好事.它将自定义放在项目级别而不是应用级别.它也只会将链接放在/ admin /页面而不是/ admin / myapp / page.

我还可以通过覆盖app_index.html模板轻松地在不同位置添加链接,但这不是一个方便或直观的地方来查找它.

我想出的另一个解决方案是创建一个空白模型并为其注册一个空白管理员.然后窃取该模型的url模式,因此单击其条目将转到我的自定义视图而不是空白的添加/更改视图.这是有效的,但这是一个令人难以置信的丑陋黑客.

这是我想要实现的目标的图片.

最佳答案 我仍然认为这样做的正确方法是覆盖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是一个很好的工具.我个人更喜欢清除任何额外的依赖,并仍然使用模板 – 但这取决于你.

点赞