servidor - Archivo estático de Django que aloja un Apache
python3 django apache (2)
Asumo que estás usando Django 1.3 y la ''nueva'' forma de servir archivos estáticos. ¿Podría mostrarnos la configuración en su archivo settings.py
relacionado con MEDIA y STATIC? Tanto la versión ROOT AND URL. También muestre sus STATICFILES_DIRS.
La causa más probable es que Django solo está configurado para servir archivos estáticos con contrib.staticfiles
. Es posible que necesite ejecutar el comando de gestión python manage.py collectstatic
para recopilar todos los archivos estáticos de la aplicación en un directorio listo para ser servido por apache.
Vea mi respuesta aquí sobre las configuraciones para usar django.contrib.staticfiles
.
Si sus archivos estáticos existen, 100%, en el directorio señalado por Alias /static/ /home/daifotis/code/feris/sitestatic
, entonces sus permisos para apache probablemente estén configurados incorrectamente. ¿Ha comprobado el archivo /var/log/httpd/error_log
para ver si hay un error de IOPermissions al intentar servir el contenido estático?
Estoy intentando mover un sitio de Django en el que he estado trabajando fuera de la etapa del servidor de desarrollo y en un entorno de alojamiento real. Por el momento, solo estoy alojando en mi máquina personal. Ya tengo instalados Apache y mod-wsgi, pero tengo problemas para subir archivos estáticos. Estoy bastante seguro de que tiene que ver con Apache. Aquí está mi archivo de configuración para el sitio:
<VirtualHost *:80>
ServerName localhost
ServerAlias daifotis.dyndns.org
ServerAdmin [email protected]
DocumentRoot /home/daifotis/code/
Alias /media/ /home/daifotis/code/feris/sitestatic
Alias /static/ /home/daifotis/code/feris/sitestatic
#AliasMatch ^/([^/]*/.css) /home/daifotis/code/feris/sitestatic/$1
<Directory /home/daifotis/code/feris/sitestatic>
Order allow,deny
Allow from all
</Directory>
<Directory /home/daifotis/code/feris>
Order allow,deny
Allow from all
</Directory>
<Directory /home/daifotis/code/feris/jobsite>
Order allow,deny
Allow from all
</Directory>
WSGIDaemonProcess feris processes=2 threads=15 display-name=%{GROUP}
WSGIProcessGroup feris
WSGIScriptAlias / /home/daifotis/code/feris/apache/django.wsgi
<Directory /home/daifotis/code/feris/apache>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Estoy tratando de alojar los archivos desde el directorio I alias con estática. Cuando intento cargar el sitio, aparece todo el contenido pero no css. Además, cuando toco mi url www.server.com/static/, la página se muestra con el contenido apropiado del directorio. Lo que no entiendo, sin embargo, es por qué si hago clic en un enlace para ver un archivo, dice que la URL no existe. Estuve atascado en esto por un tiempo así que cualquier ayuda sería muy apreciada.
Lo averigué. Tuve un error de configuración de Apache en esta línea:
Alias /static/ /home/daifotis/code/feris/sitestatic
Debería haber escrito estática sin la barra al final. Con la barra inclinada final, Apache no expandirá la ruta URL.
Alias /static /home/daifotis/code/feris/sitestatic