В Django в админке вывести ссылку
0 Комментариев
Настроить отображение модели в админке Django - не сложно. Достаточно переопределить класс модели в админке. А чтобы в отображении модели участвовали теги, нужно в классе определить метод, который будет возвращать html-теги и активировать флаг allow_tags для конкретного поля с тегами.
class CategoryAdmin(admin.ModelAdmin):
"""
модель категорий
"""
list_display = ('get_category_link_name', 'description', 'parent', 'date_created', 'trash')
list_select_related = True
def get_category_link_name(self, obj):
"""
Ссылка в названии категории
"""
url = reverse('admin:contest_category_change', args=(obj.id,))
html = '<a href="{0}">{1}</a>'.format(
url, obj.name)
return html
get_category_link_name.allow_tags = True
admin.site.register(Category, CategoryAdmin)
Обязательно, метод который возвращает html-теги не должен быть статическим, иначе в админке теги будут показываться как обычный текст.