get_template - python templates django




¿Cómo uso allow_tags en django 2.0 admin? (2)

Además de las otras respuestas, puede utilizar la función mark_safe como decorador:

from django.utils.safestring import mark_safe

@mark_safe
def icon_pw(self, obj):
    return f'<img src="{obj.icon.url}" />' if obj.icon else ''
icon_pw.short_description = 'Icon'
icon_pw.allow_tags = True

Esta es la manera fácil de actualizar su antiguo código de administrador de Django a 2.0.

Se elimina la compatibilidad con el atributo allow_tags en los métodos ModelAdmin.


Si tiene su código en admin.py , puede sobrescribir agregando solo la función mark_safe , como en el siguiente ejemplo:

from django.utils.safestring import mark_safe

def get_image_tag(self):
        if self.picture:
            return mark_safe('<img src="%s" width="60" height="75" />' % self.picture.url)
        else:
            return ' '
get_image_tag.short_description = 'Photo'
#get_image_tag.allow_tags = True #redundant
get_image_tag.admin_order_field = 'name'

Este código fue probado en Django 2.0.2 y Python 3.6.4.







django