27👍
Does your ADMIN_MEDIA_PREFIX exist? Is it different from MEDIA_URL? Did you include the trailing slash? Is Apache handled to correctly serve up the admin media?
The default Django configuration has the admin media located at {Django install dir}/contrib/admin/media. ADMIN_MEDIA_PREFIX defaults to /media/. So you need to add something like this to your Apache config:
Alias /media/ /path/to/django/contrib/admin/media/
This will tell Apache that requests for mysite.com/media/css/whatever.css mean to serve up /path/to/django/contrib/admin/media/css/whatever.css, which should solve your issue.
7👍
I used to have the same problem and the following entry in the http.conf worked fine with me:
<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>
- Django – forms.FileField() initial value
- Django redirect() with anchor (#) parameters
- Why swagger raises unclear error – Django
- How do I get the actual object id in a Django admin page (inside formfield_for_foreignkey)?
- Load static file with variable name in django
2👍
Here is my django-specific apache configuration. Note, django handles every incoming url to the site (location /) except media, where it’s disabled, and the data is served from django’s media directory.
<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>
1👍
If you don’t want to have admin media use the /media directory, you can specify ADMIN_MEDIA_PREFIX = ‘admin_media’, then create a link/alias from your webserver which redirects calls to /admin_media/ to the /usr/share/pyshared/django/contrib/admin/media (depending on your OS) for your production server…
- How to throttle Django error emails
- How to assert django uses particular template in pytest
- Django – Check diference between old and new value when overriding save method
1👍
Since the question is from long time back, this may not be a relevant answer but I am putting this information to help anyone who happens to stumble here just like me.
As of version 1.4, ADMIN_MEDIA_PREFIX setting has been deprecated. The ways of serving static and media files with version >= 1.4 are described here
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
Basically it can be setup in 4 steps –
- Set STATIC_ROOT to point to directory which will serve all the static files of your site
- Set STATIC_URL for which static content should be served
- Run manage.py collectstatic
- Configure your webserver to serve requests for STATIC_URL from STATIC_ROOT
Same for media files
- How to use custom managers in chain queries?
- How do I implement markdown in Django 1.6 app?
- Coverage in parallel for django tests
- "Lazy load" of data from a context processor