¿Cuántas imágenes puedo poner en el sitio web (Django) para no ralentizarlo demasiado?

Tantos como quieras. Pero recuerda esto:

  1. Si inicialmente puede presentar las imágenes como miniaturas, hágalo. Hay muchos paquetes de JavaScript que lo ayudarán con esto. Si puedes paginar las imágenes, hazlo también.
  2. No almacene imágenes en la base de datos y no permita que su código las sirva. Esto sigue siendo una cosa: mira algunos paquetes populares de WordPress listos para usar. Almacenar punteros, ya sean rutas o URL.
  3. Optimiza las imágenes tanto como puedas. Parece una noción extraña cuando tenemos ADSL y cable y 4G y podemos transmitir la transmisión de TV a su teléfono, pero hacemos la presentación inicial lo más rápido posible. También puede comprimir la transmisión en su servidor usando gzip.
  4. Cache. Úselo en la memoria caché o en un CDN para entregar sus imágenes en lugar de desde su servidor cada vez.

No hace falta decir que está utilizando wsgi o algo así como gunicorn o tornado detrás de nginx como arquitectura de su servidor. Puede recorrer un largo camino con los nginx en la memoria caché, pero también puede considerar el módulo de microcaching si tiene espacio y discos rápidos.

Si te refieres al número de imágenes a mostrar, depende de la velocidad de Internet. Debe aplicar la paginación para no cargar todas las imágenes. En cuanto a la cantidad de imágenes que puede cargar, es ilimitado.