Отображение URL модели в админке - PullRequest
8 голосов
/ 05 июня 2009

У меня есть пара моделей. Ни у кого нет никакого представления списка кроме их записей администратора. По этой причине немного сложно вручную определить URL-адреса для экземпляров модели.

Я хотел бы показать ссылку в списке и подробные административные представления, которые ведут меня непосредственно к общедоступному представлению. Я могу сделать глупость, которая работает, создает URL, но я не знаю, как заставить его показывать в админке.

Есть идеи?

1 Ответ

13 голосов
/ 05 июня 2009

Если в модели используется метод get_absolute_url(), в правом верхнем углу экрана подробностей администратора должна автоматически отображаться кнопка «Просмотр на сайте».

Для просмотра списка вы можете легко добавить метод в список показанных полей:

class MyAdmin(admin.ModelAdmin):
    list_display=('name', 'anotherfield', 'show_url')

    def show_url(self, instance):
        return '<a href="%s">View on site</a>' % (instance.get_absolute_url())
    show_url.allow_tags = True
...