2👍
When I look into the source code of Django, I find out the reason.
Somewhere in the django.core.management.commands.runserver
module, a WSGIHandler
object is
wrapped inside an AdminMediaHandler
.
According to the document, AdminMediaHandler
is a
WSGI middleware that intercepts calls
to the admin media directory, as
defined by the ADMIN_MEDIA_PREFIX setting, and serves those images.
Use this ONLY LOCALLY, for development! This hasn’t been tested
for
security and is not super efficient.
And that’s why the admin media files can only be found automatically when I was using the test server.
Now I just go ahead and set up the admin media url mapping manually 🙂
1👍
Django by default doesn’t serve the media files since it usually is better to serve these static files on another server (for performance etc.). So, when deploying your application you have to make sure you setup another server (or virtual server) which serves the media (including the admin media). You can find the admin media in django/contrib/admin/media
. You should setup your MEDIA_URL and ADMIN_MEDIA_URL so that they point to the media files. See also http://docs.djangoproject.com/en/dev/howto/static-files/#howto-static-files.
- [Django]-What's the correct include path in this template?
- [Django]-Django Haystack Indexing More than one models
0👍
I’ve run into this problem too (because I do some development against gunicorn), and here’s how to remove the admin-media magic and serve admin media like any other media through urls.py:
import os
import django
...
admin_media_url = settings.ADMIN_MEDIA_PREFIX.lstrip('/') + '(?P<path>.*)$'
admin_media_path = os.path.join(django.__path__[0], 'contrib', 'admin', 'media')
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^' + admin_media_url , 'django.views.static.serve', {
'document_root': admin_media_path,
}, name='admin-media'),
...
)
Also: http://djangosnippets.org/snippets/2547/
And, of course, #include <production_disclaimer.h>
.
- [Django]-Django URLs without function in views
- [Django]-Django formtools wizard produces blank page (No error returned)
- [Django]-Using list index lookup within a template loop in django