diff options
| author | Adrian Holovaty <adrian@holovaty.com> | 2005-07-18 22:35:04 +0000 |
|---|---|---|
| committer | Adrian Holovaty <adrian@holovaty.com> | 2005-07-18 22:35:04 +0000 |
| commit | a7506973af918e177d102328c6db52bc9e0f43b4 (patch) | |
| tree | 69833283acdbfa9a7f36f3525d373578262b4851 | |
| parent | 34f749e506b6e0748809ba71e877082cf5eedd21 (diff) | |
Moved default admin from media to django/conf/admin_media, so Django is able to introspect their location, in preparation for #76
git-svn-id: http://code.djangoproject.com/svn/django/trunk@185 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rwxr-xr-x | django/bin/django-admin.py | 4 | ||||
| -rw-r--r-- | django/conf/admin_media/css/base.css (renamed from media/css/base.css) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/css/changelists.css (renamed from media/css/changelists.css) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/css/global.css (renamed from media/css/global.css) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/img/admin/arrow-down.gif (renamed from media/img/admin/arrow-down.gif) | bin | 80 -> 80 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/arrow-up.gif (renamed from media/img/admin/arrow-up.gif) | bin | 838 -> 838 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/changelist-bg.gif (renamed from media/img/admin/changelist-bg.gif) | bin | 58 -> 58 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/chooser-bg.gif (renamed from media/img/admin/chooser-bg.gif) | bin | 199 -> 199 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/chooser_stacked-bg.gif (renamed from media/img/admin/chooser_stacked-bg.gif) | bin | 212 -> 212 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/default-bg-reverse.gif (renamed from media/img/admin/default-bg-reverse.gif) | bin | 843 -> 843 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/default-bg.gif (renamed from media/img/admin/default-bg.gif) | bin | 844 -> 844 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/icon-no.gif (renamed from media/img/admin/icon-no.gif) | bin | 176 -> 176 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/icon-yes.gif (renamed from media/img/admin/icon-yes.gif) | bin | 299 -> 299 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/icon_addlink.gif (renamed from media/img/admin/icon_addlink.gif) | bin | 119 -> 119 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/icon_alert.gif (renamed from media/img/admin/icon_alert.gif) | bin | 145 -> 145 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/icon_calendar.gif (renamed from media/img/admin/icon_calendar.gif) | bin | 192 -> 192 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/icon_changelink.gif (renamed from media/img/admin/icon_changelink.gif) | bin | 119 -> 119 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/icon_clock.gif (renamed from media/img/admin/icon_clock.gif) | bin | 390 -> 390 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/icon_deletelink.gif (renamed from media/img/admin/icon_deletelink.gif) | bin | 181 -> 181 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/icon_error.gif (renamed from media/img/admin/icon_error.gif) | bin | 319 -> 319 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/icon_searchbox.png (renamed from media/img/admin/icon_searchbox.png) | bin | 667 -> 667 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/icon_success.gif (renamed from media/img/admin/icon_success.gif) | bin | 341 -> 341 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/nav-bg-grabber.gif (renamed from media/img/admin/nav-bg-grabber.gif) | bin | 116 -> 116 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/nav-bg-reverse.gif (renamed from media/img/admin/nav-bg-reverse.gif) | bin | 186 -> 186 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/nav-bg.gif (renamed from media/img/admin/nav-bg.gif) | bin | 273 -> 273 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/selector-add.gif (renamed from media/img/admin/selector-add.gif) | bin | 606 -> 606 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/selector-addall.gif (renamed from media/img/admin/selector-addall.gif) | bin | 358 -> 358 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/selector-remove.gif (renamed from media/img/admin/selector-remove.gif) | bin | 398 -> 398 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/selector-removeall.gif (renamed from media/img/admin/selector-removeall.gif) | bin | 355 -> 355 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/selector-search.gif (renamed from media/img/admin/selector-search.gif) | bin | 552 -> 552 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/selector_stacked-add.gif (renamed from media/img/admin/selector_stacked-add.gif) | bin | 612 -> 612 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/selector_stacked-remove.gif (renamed from media/img/admin/selector_stacked-remove.gif) | bin | 401 -> 401 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/tool-left.gif (renamed from media/img/admin/tool-left.gif) | bin | 197 -> 197 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/tool-left_over.gif (renamed from media/img/admin/tool-left_over.gif) | bin | 203 -> 203 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/tool-right.gif (renamed from media/img/admin/tool-right.gif) | bin | 198 -> 198 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/tool-right_over.gif (renamed from media/img/admin/tool-right_over.gif) | bin | 200 -> 200 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/tooltag-add.gif (renamed from media/img/admin/tooltag-add.gif) | bin | 932 -> 932 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/tooltag-add_over.gif (renamed from media/img/admin/tooltag-add_over.gif) | bin | 336 -> 336 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/tooltag-arrowright.gif (renamed from media/img/admin/tooltag-arrowright.gif) | bin | 351 -> 351 bytes | |||
| -rw-r--r-- | django/conf/admin_media/img/admin/tooltag-arrowright_over.gif (renamed from media/img/admin/tooltag-arrowright_over.gif) | bin | 354 -> 354 bytes | |||
| -rw-r--r-- | django/conf/admin_media/js/SelectBox.js (renamed from media/js/SelectBox.js) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/js/SelectFilter.js (renamed from media/js/SelectFilter.js) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/js/SelectFilter2.js (renamed from media/js/SelectFilter2.js) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/js/admin/CollapsedFieldsets.js (renamed from media/js/admin/CollapsedFieldsets.js) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/js/admin/DateTimeShortcuts.js (renamed from media/js/admin/DateTimeShortcuts.js) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/js/admin/RelatedObjectLookups.js (renamed from media/js/admin/RelatedObjectLookups.js) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/js/admin/add_calendars.js (renamed from media/js/admin/add_calendars.js) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/js/admin/ordering.js (renamed from media/js/admin/ordering.js) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/js/calendar.js (renamed from media/js/calendar.js) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/js/core.js (renamed from media/js/core.js) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/js/dateparse.js (renamed from media/js/dateparse.js) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/js/getElementsBySelector.js (renamed from media/js/getElementsBySelector.js) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/js/timeparse.js (renamed from media/js/timeparse.js) | 0 | ||||
| -rw-r--r-- | django/conf/admin_media/js/urlify.js (renamed from media/js/urlify.js) | 0 | ||||
| -rw-r--r-- | django/core/handlers/wsgi.py | 42 | ||||
| -rw-r--r-- | setup.py | 5 |
56 files changed, 48 insertions, 3 deletions
diff --git a/django/bin/django-admin.py b/django/bin/django-admin.py index 96738461b1..2bbc03764c 100755 --- a/django/bin/django-admin.py +++ b/django/bin/django-admin.py @@ -365,13 +365,13 @@ startapp.args = "[appname]" def runserver(port): "Starts a lightweight Web server for development." from django.core.servers.basehttp import run, WSGIServerException - from django.core.handlers.wsgi import WSGIHandler + from django.core.handlers.wsgi import AdminMediaHandler, WSGIHandler if not port.isdigit(): sys.stderr.write("Error: %r is not a valid port number.\n" % port) sys.exit(1) print "Starting server on port %s. Go to http://127.0.0.1:%s/ for Django." % (port, port) try: - run(int(port), WSGIHandler()) + run(int(port), AdminMediaHandler(WSGIHandler())) except WSGIServerException, e: # Use helpful error messages instead of ugly tracebacks. ERRORS = { diff --git a/media/css/base.css b/django/conf/admin_media/css/base.css index d50e5d43f5..d50e5d43f5 100644 --- a/media/css/base.css +++ b/django/conf/admin_media/css/base.css diff --git a/media/css/changelists.css b/django/conf/admin_media/css/changelists.css index 3c6e125e7d..3c6e125e7d 100644 --- a/media/css/changelists.css +++ b/django/conf/admin_media/css/changelists.css diff --git a/media/css/global.css b/django/conf/admin_media/css/global.css index b2b7a62ad4..b2b7a62ad4 100644 --- a/media/css/global.css +++ b/django/conf/admin_media/css/global.css diff --git a/media/img/admin/arrow-down.gif b/django/conf/admin_media/img/admin/arrow-down.gif Binary files differindex a967b9fd55..a967b9fd55 100644 --- a/media/img/admin/arrow-down.gif +++ b/django/conf/admin_media/img/admin/arrow-down.gif diff --git a/media/img/admin/arrow-up.gif b/django/conf/admin_media/img/admin/arrow-up.gif Binary files differindex 3fe4851399..3fe4851399 100644 --- a/media/img/admin/arrow-up.gif +++ b/django/conf/admin_media/img/admin/arrow-up.gif diff --git a/media/img/admin/changelist-bg.gif b/django/conf/admin_media/img/admin/changelist-bg.gif Binary files differindex 7f4699470a..7f4699470a 100644 --- a/media/img/admin/changelist-bg.gif +++ b/django/conf/admin_media/img/admin/changelist-bg.gif diff --git a/media/img/admin/chooser-bg.gif b/django/conf/admin_media/img/admin/chooser-bg.gif Binary files differindex 30e83c2518..30e83c2518 100644 --- a/media/img/admin/chooser-bg.gif +++ b/django/conf/admin_media/img/admin/chooser-bg.gif diff --git a/media/img/admin/chooser_stacked-bg.gif b/django/conf/admin_media/img/admin/chooser_stacked-bg.gif Binary files differindex 5d104b6d98..5d104b6d98 100644 --- a/media/img/admin/chooser_stacked-bg.gif +++ b/django/conf/admin_media/img/admin/chooser_stacked-bg.gif diff --git a/media/img/admin/default-bg-reverse.gif b/django/conf/admin_media/img/admin/default-bg-reverse.gif Binary files differindex 0873281e51..0873281e51 100644 --- a/media/img/admin/default-bg-reverse.gif +++ b/django/conf/admin_media/img/admin/default-bg-reverse.gif diff --git a/media/img/admin/default-bg.gif b/django/conf/admin_media/img/admin/default-bg.gif Binary files differindex 003aeca59f..003aeca59f 100644 --- a/media/img/admin/default-bg.gif +++ b/django/conf/admin_media/img/admin/default-bg.gif diff --git a/media/img/admin/icon-no.gif b/django/conf/admin_media/img/admin/icon-no.gif Binary files differindex 1b4ee58145..1b4ee58145 100644 --- a/media/img/admin/icon-no.gif +++ b/django/conf/admin_media/img/admin/icon-no.gif diff --git a/media/img/admin/icon-yes.gif b/django/conf/admin_media/img/admin/icon-yes.gif Binary files differindex 7399282740..7399282740 100644 --- a/media/img/admin/icon-yes.gif +++ b/django/conf/admin_media/img/admin/icon-yes.gif diff --git a/media/img/admin/icon_addlink.gif b/django/conf/admin_media/img/admin/icon_addlink.gif Binary files differindex ee70e1adba..ee70e1adba 100644 --- a/media/img/admin/icon_addlink.gif +++ b/django/conf/admin_media/img/admin/icon_addlink.gif diff --git a/media/img/admin/icon_alert.gif b/django/conf/admin_media/img/admin/icon_alert.gif Binary files differindex a1dde26254..a1dde26254 100644 --- a/media/img/admin/icon_alert.gif +++ b/django/conf/admin_media/img/admin/icon_alert.gif diff --git a/media/img/admin/icon_calendar.gif b/django/conf/admin_media/img/admin/icon_calendar.gif Binary files differindex 7587b305a4..7587b305a4 100644 --- a/media/img/admin/icon_calendar.gif +++ b/django/conf/admin_media/img/admin/icon_calendar.gif diff --git a/media/img/admin/icon_changelink.gif b/django/conf/admin_media/img/admin/icon_changelink.gif Binary files differindex e1b9afde65..e1b9afde65 100644 --- a/media/img/admin/icon_changelink.gif +++ b/django/conf/admin_media/img/admin/icon_changelink.gif diff --git a/media/img/admin/icon_clock.gif b/django/conf/admin_media/img/admin/icon_clock.gif Binary files differindex ff2d57e0a3..ff2d57e0a3 100644 --- a/media/img/admin/icon_clock.gif +++ b/django/conf/admin_media/img/admin/icon_clock.gif diff --git a/media/img/admin/icon_deletelink.gif b/django/conf/admin_media/img/admin/icon_deletelink.gif Binary files differindex 72523e3a3b..72523e3a3b 100644 --- a/media/img/admin/icon_deletelink.gif +++ b/django/conf/admin_media/img/admin/icon_deletelink.gif diff --git a/media/img/admin/icon_error.gif b/django/conf/admin_media/img/admin/icon_error.gif Binary files differindex 3730a00b26..3730a00b26 100644 --- a/media/img/admin/icon_error.gif +++ b/django/conf/admin_media/img/admin/icon_error.gif diff --git a/media/img/admin/icon_searchbox.png b/django/conf/admin_media/img/admin/icon_searchbox.png Binary files differindex 8ab579e526..8ab579e526 100644 --- a/media/img/admin/icon_searchbox.png +++ b/django/conf/admin_media/img/admin/icon_searchbox.png diff --git a/media/img/admin/icon_success.gif b/django/conf/admin_media/img/admin/icon_success.gif Binary files differindex 5cf90a15aa..5cf90a15aa 100644 --- a/media/img/admin/icon_success.gif +++ b/django/conf/admin_media/img/admin/icon_success.gif diff --git a/media/img/admin/nav-bg-grabber.gif b/django/conf/admin_media/img/admin/nav-bg-grabber.gif Binary files differindex 0a784fa769..0a784fa769 100644 --- a/media/img/admin/nav-bg-grabber.gif +++ b/django/conf/admin_media/img/admin/nav-bg-grabber.gif diff --git a/media/img/admin/nav-bg-reverse.gif b/django/conf/admin_media/img/admin/nav-bg-reverse.gif Binary files differindex f11029f90f..f11029f90f 100644 --- a/media/img/admin/nav-bg-reverse.gif +++ b/django/conf/admin_media/img/admin/nav-bg-reverse.gif diff --git a/media/img/admin/nav-bg.gif b/django/conf/admin_media/img/admin/nav-bg.gif Binary files differindex f8402b809d..f8402b809d 100644 --- a/media/img/admin/nav-bg.gif +++ b/django/conf/admin_media/img/admin/nav-bg.gif diff --git a/media/img/admin/selector-add.gif b/django/conf/admin_media/img/admin/selector-add.gif Binary files differindex 50132d1c43..50132d1c43 100644 --- a/media/img/admin/selector-add.gif +++ b/django/conf/admin_media/img/admin/selector-add.gif diff --git a/media/img/admin/selector-addall.gif b/django/conf/admin_media/img/admin/selector-addall.gif Binary files differindex d6e7c639bb..d6e7c639bb 100644 --- a/media/img/admin/selector-addall.gif +++ b/django/conf/admin_media/img/admin/selector-addall.gif diff --git a/media/img/admin/selector-remove.gif b/django/conf/admin_media/img/admin/selector-remove.gif Binary files differindex 2b9b0a2ac3..2b9b0a2ac3 100644 --- a/media/img/admin/selector-remove.gif +++ b/django/conf/admin_media/img/admin/selector-remove.gif diff --git a/media/img/admin/selector-removeall.gif b/django/conf/admin_media/img/admin/selector-removeall.gif Binary files differindex 5a4421926d..5a4421926d 100644 --- a/media/img/admin/selector-removeall.gif +++ b/django/conf/admin_media/img/admin/selector-removeall.gif diff --git a/media/img/admin/selector-search.gif b/django/conf/admin_media/img/admin/selector-search.gif Binary files differindex 6d5f4c7492..6d5f4c7492 100644 --- a/media/img/admin/selector-search.gif +++ b/django/conf/admin_media/img/admin/selector-search.gif diff --git a/media/img/admin/selector_stacked-add.gif b/django/conf/admin_media/img/admin/selector_stacked-add.gif Binary files differindex 7426169652..7426169652 100644 --- a/media/img/admin/selector_stacked-add.gif +++ b/django/conf/admin_media/img/admin/selector_stacked-add.gif diff --git a/media/img/admin/selector_stacked-remove.gif b/django/conf/admin_media/img/admin/selector_stacked-remove.gif Binary files differindex 60412cee19..60412cee19 100644 --- a/media/img/admin/selector_stacked-remove.gif +++ b/django/conf/admin_media/img/admin/selector_stacked-remove.gif diff --git a/media/img/admin/tool-left.gif b/django/conf/admin_media/img/admin/tool-left.gif Binary files differindex 011490ff3a..011490ff3a 100644 --- a/media/img/admin/tool-left.gif +++ b/django/conf/admin_media/img/admin/tool-left.gif diff --git a/media/img/admin/tool-left_over.gif b/django/conf/admin_media/img/admin/tool-left_over.gif Binary files differindex 937e07bb1a..937e07bb1a 100644 --- a/media/img/admin/tool-left_over.gif +++ b/django/conf/admin_media/img/admin/tool-left_over.gif diff --git a/media/img/admin/tool-right.gif b/django/conf/admin_media/img/admin/tool-right.gif Binary files differindex cdc140cc59..cdc140cc59 100644 --- a/media/img/admin/tool-right.gif +++ b/django/conf/admin_media/img/admin/tool-right.gif diff --git a/media/img/admin/tool-right_over.gif b/django/conf/admin_media/img/admin/tool-right_over.gif Binary files differindex 4db977e838..4db977e838 100644 --- a/media/img/admin/tool-right_over.gif +++ b/django/conf/admin_media/img/admin/tool-right_over.gif diff --git a/media/img/admin/tooltag-add.gif b/django/conf/admin_media/img/admin/tooltag-add.gif Binary files differindex 8b53d49ae5..8b53d49ae5 100644 --- a/media/img/admin/tooltag-add.gif +++ b/django/conf/admin_media/img/admin/tooltag-add.gif diff --git a/media/img/admin/tooltag-add_over.gif b/django/conf/admin_media/img/admin/tooltag-add_over.gif Binary files differindex bfc52f10de..bfc52f10de 100644 --- a/media/img/admin/tooltag-add_over.gif +++ b/django/conf/admin_media/img/admin/tooltag-add_over.gif diff --git a/media/img/admin/tooltag-arrowright.gif b/django/conf/admin_media/img/admin/tooltag-arrowright.gif Binary files differindex cdaaae77ed..cdaaae77ed 100644 --- a/media/img/admin/tooltag-arrowright.gif +++ b/django/conf/admin_media/img/admin/tooltag-arrowright.gif diff --git a/media/img/admin/tooltag-arrowright_over.gif b/django/conf/admin_media/img/admin/tooltag-arrowright_over.gif Binary files differindex 7163189604..7163189604 100644 --- a/media/img/admin/tooltag-arrowright_over.gif +++ b/django/conf/admin_media/img/admin/tooltag-arrowright_over.gif diff --git a/media/js/SelectBox.js b/django/conf/admin_media/js/SelectBox.js index 48ec0a5e4b..48ec0a5e4b 100644 --- a/media/js/SelectBox.js +++ b/django/conf/admin_media/js/SelectBox.js diff --git a/media/js/SelectFilter.js b/django/conf/admin_media/js/SelectFilter.js index 0501920608..0501920608 100644 --- a/media/js/SelectFilter.js +++ b/django/conf/admin_media/js/SelectFilter.js diff --git a/media/js/SelectFilter2.js b/django/conf/admin_media/js/SelectFilter2.js index 2607a62667..2607a62667 100644 --- a/media/js/SelectFilter2.js +++ b/django/conf/admin_media/js/SelectFilter2.js diff --git a/media/js/admin/CollapsedFieldsets.js b/django/conf/admin_media/js/admin/CollapsedFieldsets.js index bb6eaa79f3..bb6eaa79f3 100644 --- a/media/js/admin/CollapsedFieldsets.js +++ b/django/conf/admin_media/js/admin/CollapsedFieldsets.js diff --git a/media/js/admin/DateTimeShortcuts.js b/django/conf/admin_media/js/admin/DateTimeShortcuts.js index 1231989edd..1231989edd 100644 --- a/media/js/admin/DateTimeShortcuts.js +++ b/django/conf/admin_media/js/admin/DateTimeShortcuts.js diff --git a/media/js/admin/RelatedObjectLookups.js b/django/conf/admin_media/js/admin/RelatedObjectLookups.js index 55bd59a850..55bd59a850 100644 --- a/media/js/admin/RelatedObjectLookups.js +++ b/django/conf/admin_media/js/admin/RelatedObjectLookups.js diff --git a/media/js/admin/add_calendars.js b/django/conf/admin_media/js/admin/add_calendars.js index b0e8247f8d..b0e8247f8d 100644 --- a/media/js/admin/add_calendars.js +++ b/django/conf/admin_media/js/admin/add_calendars.js diff --git a/media/js/admin/ordering.js b/django/conf/admin_media/js/admin/ordering.js index fb0f5b007e..fb0f5b007e 100644 --- a/media/js/admin/ordering.js +++ b/django/conf/admin_media/js/admin/ordering.js diff --git a/media/js/calendar.js b/django/conf/admin_media/js/calendar.js index ad1f0a9734..ad1f0a9734 100644 --- a/media/js/calendar.js +++ b/django/conf/admin_media/js/calendar.js diff --git a/media/js/core.js b/django/conf/admin_media/js/core.js index 188e477939..188e477939 100644 --- a/media/js/core.js +++ b/django/conf/admin_media/js/core.js diff --git a/media/js/dateparse.js b/django/conf/admin_media/js/dateparse.js index cec36e41e0..cec36e41e0 100644 --- a/media/js/dateparse.js +++ b/django/conf/admin_media/js/dateparse.js diff --git a/media/js/getElementsBySelector.js b/django/conf/admin_media/js/getElementsBySelector.js index ae6d387a91..ae6d387a91 100644 --- a/media/js/getElementsBySelector.js +++ b/django/conf/admin_media/js/getElementsBySelector.js diff --git a/media/js/timeparse.js b/django/conf/admin_media/js/timeparse.js index 882f41d56e..882f41d56e 100644 --- a/media/js/timeparse.js +++ b/django/conf/admin_media/js/timeparse.js diff --git a/media/js/urlify.js b/django/conf/admin_media/js/urlify.js index 412130ad6f..412130ad6f 100644 --- a/media/js/urlify.js +++ b/django/conf/admin_media/js/urlify.js diff --git a/django/core/handlers/wsgi.py b/django/core/handlers/wsgi.py index d4db06cbc2..5006272685 100644 --- a/django/core/handlers/wsgi.py +++ b/django/core/handlers/wsgi.py @@ -240,3 +240,45 @@ class WSGIHandler: "Helper function to return the traceback as a string" import sys, traceback return '\n'.join(traceback.format_exception(*sys.exc_info())) + +class AdminMediaHandler: + """ + 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. + """ + def __init__(self, application): + from django.conf import settings + import django + self.application = application + self.media_dir = django.__path__[0] + '/conf/admin_templates' + self.media_url = settings.ADMIN_MEDIA_PREFIX + + def __call__(self, environ, start_response): + import os.path + + # Ignore requests that aren't under ADMIN_MEDIA_PREFIX. + if not environ['PATH_INFO'].startswith(self.media_url): + return self.application(environ, start_response) + + # Find the admin file and serve it up, if it exists and is readable. + file_path = os.path.join(self.media_dir, environ['PATH_INFO'][1:]) + if not os.path.exists(file_path): + status = '404 NOT FOUND' + headers = {'Content-type': 'text/plain'} + output = ['Page not found: %s' % file_path] + else: + try: + fp = open(file_path, 'r') + except IOError: + status = '401 UNAUTHORIZED' + headers = {'Content-type': 'text/plain'} + output = ['Permission denied: %s' % file_path] + else: + status = '200 OK' + headers = {} + output = [fp.read()] + fp.close() + start_response(status, headers.items()) + return output @@ -13,7 +13,10 @@ setup( license = 'BSD', packages = find_packages(), package_data = { - 'django.conf': ['admin_templates/*.html', 'admin_templates/doc/*.html'], + 'django.conf': ['admin_templates/*.html', 'admin_templates/doc/*.html', + 'admin_media/css/*.css', 'admin_media/img/admin/*.gif', + 'admin_media/img/admin/*.png', 'admin_media/js/*.js', + 'admin_media/js/admin/*js'], }, scripts = ['django/bin/django-admin.py'], ) |
