template get_template example context_processors python django

python - get_template - ¿Cómo uso allow_tags en django 2.0 admin?



python django template (3)

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.


Acabo de encontrar la respuesta! usar la función mark_safe

en el código antiguo, puedes usar:

def image_(self, obj): return ''<image src="%s" />'' % obj.image image_.allow_tags = True

en el nuevo código, debe utilizar:

from django.utils.safestring import mark_safe def image(self, obj): return mark_safe(''<image src="%s" />'' % obj.image)