如何从视图生成 Django 管理站点中特定项目的 url?

Posted

技术标签:

【中文标题】如何从视图生成 Django 管理站点中特定项目的 url?【英文标题】:How can I generate a url to a particular item in the Django Admin Site from a view? 【发布时间】:2011-12-24 20:33:10 【问题描述】:

我想创建一个链接,将用户带到管理站点中的特定项目(假设他们具有正确的权限)。

类似:https://mysite/admin/app/model/id/

这可以反向完成吗?

【问题讨论】:

见***.com/questions/694477/… @second - 这个问题来自古老的 Django 1.0 天,所以有很多噪音。我试图总结以下信息。 【参考方案1】:

你可以在视图中获取url,使用reverse

object_change_url = reverse('admin:myapp_mymodel_change', args=(obj.id,))

或者在模板中,使用url标签

% url 'admin:myapp_mymodel_change' obj.id %

% load admin_urls %
% url opts|admin_urlname:'change' obj.id %">

请注意,上面的 url 标签语法适用于 Django >= 1.5。

有关更多信息,请参阅reversing admin urls 上的 Django 文档。

【讨论】:

obj 应该为你的模特站在这里吗?我通过用我的型号名称替换 obj 来让它工作,它应该是这样工作的吗? @DavidRhoden 我已经很久没有写答案了。查看文档,我认为应该是opts 而不是obj 谢谢。旧答案,但它让我到达了我需要去的地方。

以上是关于如何从视图生成 Django 管理站点中特定项目的 url?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 django 管理站点中删除更改密码链接?

如何从视图中呈现特定的 Django 管理页面?

有没有一种简单的方法可以在 Django 管理站点中创建链式动态下拉列表?

如何在 django 管理站点中使用 django-select2 小部件?

在 Django 管理站点中,如何通过内联访问模型属性?

Django-cms:前端编辑器未同步到管理站点中的内容