Как я могу сгенерировать URL-адрес определенного элемента в Django Admin Site из представления?

Я хотел бы сделать ссылку, которая приведет пользователя к определенному элементу на сайте администратора (при условии, что у них есть правильные разрешения).

Что-то вроде: https://mysite/admin/app/model/id/

Можно ли сделать это с помощью обратного?

Ответ 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 obj|admin_urlname:'change' obj.id %}">

Обратите внимание, что указанный синтаксис тега url для Django >= 1.5.

Для получения дополнительной информации см. документы Django в изменение адресов электронной почты.