windows - files - Django Apache/mod_python Admin CSS no aparece con las tablas de administración
django collectstatic (5)
Tengo Windows XP / Django / apache / mod_python trabajando en localhost. Todas las piezas funcionan, con la excepción del administrador CSS que no se procesa. El administrador funciona, pero no tiene formato html. He hecho adiciones en:
settings.py
INSTALLED_APPS
''django.contrib.admin'',
urls.py
from django.contrib import admin
admin.autodiscover()
(r''^admin/(.*)'', admin.site.root),
conf/http.conf
<Location "/">
SetHandler python-program
PythonPath "[''C:/django''] + sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonDebug On
</Location>
<Location "/cpssite/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE myapplication.settings
PythonInterpreter /myapplication
PythonDebug On
</Location>
Estoy perplejo. ¿Hay más código que debería haber agregado en algún lado?
¿Su ADMIN_MEDIA_PREFIX existe? ¿Es diferente de MEDIA_URL? ¿Incluyó la barra final? ¿Se gestiona Apache para que sirva correctamente los medios de administración?
La configuración predeterminada de Django tiene el medio de administración ubicado en {Django install dir} / contrib / admin / media. ADMIN_MEDIA_PREFIX está predeterminado en / media /. Entonces necesitas agregar algo como esto a tu configuración de Apache:
Alias /media/ /path/to/django/contrib/admin/media/
Esto le indicará a Apache que las solicitudes para mysite.com/media/css/whatever.css significan servir / up /to/django/contrib/admin/media/css/whatever.css, lo que debería resolver su problema.
Solía tener el mismo problema y la siguiente entrada en el http.conf funcionó bien conmigo:
<Directory "Path-to-python/Lib/site-packages/django/contrib/admin/media/">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
Alias /media/ "Path-to-Python/Lib/site-packages/django/contrib/admin/media/"
<Location "/mysite/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonOption django.root /mysite
PythonInterpreter mysite
PythonDebug On
PythonPath "[''C:/Python/Django/apps''] + sys.path"
</Location>
Si no desea tener medios de administración, use el directorio / media, puede especificar ADMIN_MEDIA_PREFIX = ''admin_media'', luego cree un enlace / alias de su servidor web que redirija las llamadas a / admin_media / a / usr / share / pyshared / django / contrib / admin / media (según su sistema operativo) para su servidor de producción ...
Aquí está mi configuración de apache específica de django. Tenga en cuenta que django maneja cada url entrante al sitio (ubicación /), excepto los medios, donde está deshabilitado, y los datos se sirven desde el directorio de medios de django.
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
#PythonOption django.root /
PythonDebug On
PythonPath "[''e:/dj''] + sys.path"
</Location>
Alias /media e:/dj/django-trunk/django/contrib/admin/media/
<Location "/media">
SetHandler None
</Location>
Dado que la pregunta es de hace mucho tiempo, esta puede no ser una respuesta relevante, pero estoy poniendo esta información para ayudar a cualquiera que tropiece aquí como yo. A partir de la versión 1.4, la configuración ADMIN_MEDIA_PREFIX ha quedado en desuso. Aquí se describen las formas de servir archivos estáticos y de medios con la versión> = 1.4
https://docs.djangoproject.com/en/dev/releases/1.4/#django-contrib-admin
https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/#serving-files
https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/#serving-the-admin-files
Básicamente se puede configurar en 4 pasos:
- Establezca STATIC_ROOT para que apunte al directorio que servirá todos los archivos estáticos de su sitio
- Establezca STATIC_URL para qué contenido estático debe ser servido
- Ejecute manage.py collectstatic
- Configure su servidor web para atender solicitudes de STATIC_URL desde STATIC_ROOT
Lo mismo para archivos multimedia