Para exibir a imagem no admin, adicione o seguinte código no seu admin.py
.
...
class AlunoAdmin(admin.ModelAdmin):
def foto_preview(self, obj):
return format_html(
f"<img src='{obj.foto.url}' width='{obj.foto.width}' height='{obj.foto.height}' style='border-radius: 50% 50%;'/>")
readonly_fields = ['foto_preview']
...
Ou seja, adicione um método no admin, com o nome de foto_preview
. Esse método deve ter como parâmetro uma variável obj
.
Como retorno, utilize o método format_html
de django.utils.html import format_html
, passando para ele o html de exibição da imagem.
Note que o parâmetro obj
representa a imagem a ser exibida, por isso, é ele que irá fornecer os parâmetros para a tag img
.
No exemplo acima, a imagem já foi criada com o tamanho que seria exibida. Mas se necessário os valores obj.foto.width/height
podem ser substuídos pelas novas dimensões da imagem.
[]'s