python – Mostrar imagen y texto en django

tengo el siguiente codigo, en una funcion en el archivo views.py que me envia una imagen y una cadena de texto a un html para mostrarlos a ambos:

img = None
    with open(camino, "rb") as archivo_imagen:
        img = base64.b64encode(archivo_imagen.read()).decode('utf-8')
    context = {'imagen': img, 'texto': resultado}
    return render(request, 'plantillas/barra.html', context)

este es el codigo donde debe mostrarme la imagen y la cadena de texto:

<html>
  <body>
    {% if imagen %}
      <p>
        <img src="data:image/png,base64, {{ imagen }}">
      </p>
    
    {% endif %}
    <p>
      {{texto}}
    </p>
    
  </body>
</html>

mi problema es que al devolver el html este no me aparece la imagen, solo me aparece un icono indicando que hay una imagen, ademas el texto me aparece todo junto y pegado ademas de visualizar la etiquetas html como el “br”, como puedo corregir este error?

este es un ejemplo de como se ve la vista del html:

introducir la descripción de la imagen aquí