Dependiendo de la configuración del servidor web, puede hacerlo de dos maneras:
enlace simbólico
En la carpeta raíz de su sitio web, debe crear un enlace simbólico en el directorio de medios de administración de Django, con el nombre como ADMIN_MEDIA_PREFIX
en la configuración de la aplicación Django. De manera predeterminada, esto es /media/
, por lo tanto, en su carpeta raíz web, cree un enlace simbólico llamado media
al /usr/lib/python2.5/site-packages/django/contrib/admin/media
. (Observe el media
final al final del enlace simbólico, que falta en su propio ejemplo - el medio de administración de Django se encuentra en un subdirectorio media
in
contrib/admin`).
Apache Alias
Si el servidor de producción es Apache, y se puede cambiar la configuración de la raíz, se puede utilizar mod_alias
para establecer la ruta de acceso a los medios de administración de Django. Una vez más, en el supuesto de que su ADMIN_MEDIA_PREFIX
es /media/
, se puede configurar un alias de esta manera:
<VirtualHost *:80>
Alias /media/ /usr/local/lib/python2.5/site-packages/django/contrib/admin/media/
</VirtualHost>
De esta manera, todas las solicitudes previstas en el camino /media/
se resolverá a ese directorio.
Existe una técnica similar para la mayoría de los otros servidores, como Lighttpd o nginx; consulte la documentación de su servidor si no usa Apache.
la solución usando Apache mod_alias
es probablemente el mejor para el despliegue, pero el enfoque enlaces simbólicos funciona igual de bien también.
La razón de su aplicación trabajó en el servidor de transición es más probable debido a que estaba funcionando con el servidor web interno de Django, que puede resolver automáticamente la ruta de acceso al directorio de medios de administración.
Ver también http://stackoverflow.com/questions/1081596/django-serving-admin-media-files. –