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

Ale*_*lex 12 django

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

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

这可以用反向完成吗?

Ala*_*air 17

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

object_change_url = reverse('admin:myapp_mymodel_change', args=(obj.id,))
Run Code Online (Sandbox Code Playgroud)

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

{% url 'admin:myapp_mymodel_change' obj.id %}
Run Code Online (Sandbox Code Playgroud)

要么

{% load admin_urls %}
{% url obj|admin_urlname:'change' obj.id %}">
Run Code Online (Sandbox Code Playgroud)

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

有关更多信息,请参阅有关撤消管理URL的Django文档.