python - 你如何在 django 管理索引中添加一个新条目?

标签 python django django-admin

我正在开发一个 Django 项目,我已经使用 get_urls override method described in the documentation 创建了一些自定义管理 View .它工作得很好。只有一个问题。除非您已经知道 URL,否则无法访问此自定义管理 View 。

我已经知道有一些方法可以在管理中的某处添加到此 View 的链接,但没有一个是令人满意的。我希望自定义 View 的链接与所有模型管理员一起显示在模型列表中。我只是不希望它旁边有 +add 或 +change 链接,因为它不是模型。

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

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

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

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

Customized Django Admin List

最佳答案

我仍然认为这样做的正确方法是覆盖 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 是一个很好的工具。就我个人而言,我更愿意避免任何额外的依赖关系,并且仍然会使用模板 - 但这取决于您。

关于python - 你如何在 django 管理索引中添加一个新条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8975218/

相关文章:

python - 如何从磁盘加载、处理数据,然后将数据与 python、pyqt、h5py 同时存储在一个通用的 hdf5 中?

django - 捕获 django rest 框架中的所有异常

django - 如何向第三方应用程序模型添加字段?

django - Django 1.11.8 中的子查询非常慢 - 我可以加快速度吗?

Django 管理员 : search for foreign key objects rather than <select>?

Django 自动完成灯、taggit 和管理界面

python - 扭曲列表列表

python - 使用 BeautifulSoup 在 Python 中抓取列表

python - Sympy 和矩阵微分 ODE

python - STATICFILES_DIRS 设置使我的管理小部件覆盖消失