summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2005-07-18 22:35:04 +0000
committerAdrian Holovaty <adrian@holovaty.com>2005-07-18 22:35:04 +0000
commita7506973af918e177d102328c6db52bc9e0f43b4 (patch)
tree69833283acdbfa9a7f36f3525d373578262b4851
parent34f749e506b6e0748809ba71e877082cf5eedd21 (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-xdjango/bin/django-admin.py4
-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)bin80 -> 80 bytes
-rw-r--r--django/conf/admin_media/img/admin/arrow-up.gif (renamed from media/img/admin/arrow-up.gif)bin838 -> 838 bytes
-rw-r--r--django/conf/admin_media/img/admin/changelist-bg.gif (renamed from media/img/admin/changelist-bg.gif)bin58 -> 58 bytes
-rw-r--r--django/conf/admin_media/img/admin/chooser-bg.gif (renamed from media/img/admin/chooser-bg.gif)bin199 -> 199 bytes
-rw-r--r--django/conf/admin_media/img/admin/chooser_stacked-bg.gif (renamed from media/img/admin/chooser_stacked-bg.gif)bin212 -> 212 bytes
-rw-r--r--django/conf/admin_media/img/admin/default-bg-reverse.gif (renamed from media/img/admin/default-bg-reverse.gif)bin843 -> 843 bytes
-rw-r--r--django/conf/admin_media/img/admin/default-bg.gif (renamed from media/img/admin/default-bg.gif)bin844 -> 844 bytes
-rw-r--r--django/conf/admin_media/img/admin/icon-no.gif (renamed from media/img/admin/icon-no.gif)bin176 -> 176 bytes
-rw-r--r--django/conf/admin_media/img/admin/icon-yes.gif (renamed from media/img/admin/icon-yes.gif)bin299 -> 299 bytes
-rw-r--r--django/conf/admin_media/img/admin/icon_addlink.gif (renamed from media/img/admin/icon_addlink.gif)bin119 -> 119 bytes
-rw-r--r--django/conf/admin_media/img/admin/icon_alert.gif (renamed from media/img/admin/icon_alert.gif)bin145 -> 145 bytes
-rw-r--r--django/conf/admin_media/img/admin/icon_calendar.gif (renamed from media/img/admin/icon_calendar.gif)bin192 -> 192 bytes
-rw-r--r--django/conf/admin_media/img/admin/icon_changelink.gif (renamed from media/img/admin/icon_changelink.gif)bin119 -> 119 bytes
-rw-r--r--django/conf/admin_media/img/admin/icon_clock.gif (renamed from media/img/admin/icon_clock.gif)bin390 -> 390 bytes
-rw-r--r--django/conf/admin_media/img/admin/icon_deletelink.gif (renamed from media/img/admin/icon_deletelink.gif)bin181 -> 181 bytes
-rw-r--r--django/conf/admin_media/img/admin/icon_error.gif (renamed from media/img/admin/icon_error.gif)bin319 -> 319 bytes
-rw-r--r--django/conf/admin_media/img/admin/icon_searchbox.png (renamed from media/img/admin/icon_searchbox.png)bin667 -> 667 bytes
-rw-r--r--django/conf/admin_media/img/admin/icon_success.gif (renamed from media/img/admin/icon_success.gif)bin341 -> 341 bytes
-rw-r--r--django/conf/admin_media/img/admin/nav-bg-grabber.gif (renamed from media/img/admin/nav-bg-grabber.gif)bin116 -> 116 bytes
-rw-r--r--django/conf/admin_media/img/admin/nav-bg-reverse.gif (renamed from media/img/admin/nav-bg-reverse.gif)bin186 -> 186 bytes
-rw-r--r--django/conf/admin_media/img/admin/nav-bg.gif (renamed from media/img/admin/nav-bg.gif)bin273 -> 273 bytes
-rw-r--r--django/conf/admin_media/img/admin/selector-add.gif (renamed from media/img/admin/selector-add.gif)bin606 -> 606 bytes
-rw-r--r--django/conf/admin_media/img/admin/selector-addall.gif (renamed from media/img/admin/selector-addall.gif)bin358 -> 358 bytes
-rw-r--r--django/conf/admin_media/img/admin/selector-remove.gif (renamed from media/img/admin/selector-remove.gif)bin398 -> 398 bytes
-rw-r--r--django/conf/admin_media/img/admin/selector-removeall.gif (renamed from media/img/admin/selector-removeall.gif)bin355 -> 355 bytes
-rw-r--r--django/conf/admin_media/img/admin/selector-search.gif (renamed from media/img/admin/selector-search.gif)bin552 -> 552 bytes
-rw-r--r--django/conf/admin_media/img/admin/selector_stacked-add.gif (renamed from media/img/admin/selector_stacked-add.gif)bin612 -> 612 bytes
-rw-r--r--django/conf/admin_media/img/admin/selector_stacked-remove.gif (renamed from media/img/admin/selector_stacked-remove.gif)bin401 -> 401 bytes
-rw-r--r--django/conf/admin_media/img/admin/tool-left.gif (renamed from media/img/admin/tool-left.gif)bin197 -> 197 bytes
-rw-r--r--django/conf/admin_media/img/admin/tool-left_over.gif (renamed from media/img/admin/tool-left_over.gif)bin203 -> 203 bytes
-rw-r--r--django/conf/admin_media/img/admin/tool-right.gif (renamed from media/img/admin/tool-right.gif)bin198 -> 198 bytes
-rw-r--r--django/conf/admin_media/img/admin/tool-right_over.gif (renamed from media/img/admin/tool-right_over.gif)bin200 -> 200 bytes
-rw-r--r--django/conf/admin_media/img/admin/tooltag-add.gif (renamed from media/img/admin/tooltag-add.gif)bin932 -> 932 bytes
-rw-r--r--django/conf/admin_media/img/admin/tooltag-add_over.gif (renamed from media/img/admin/tooltag-add_over.gif)bin336 -> 336 bytes
-rw-r--r--django/conf/admin_media/img/admin/tooltag-arrowright.gif (renamed from media/img/admin/tooltag-arrowright.gif)bin351 -> 351 bytes
-rw-r--r--django/conf/admin_media/img/admin/tooltag-arrowright_over.gif (renamed from media/img/admin/tooltag-arrowright_over.gif)bin354 -> 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.py42
-rw-r--r--setup.py5
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
index a967b9fd55..a967b9fd55 100644
--- a/media/img/admin/arrow-down.gif
+++ b/django/conf/admin_media/img/admin/arrow-down.gif
Binary files differ
diff --git a/media/img/admin/arrow-up.gif b/django/conf/admin_media/img/admin/arrow-up.gif
index 3fe4851399..3fe4851399 100644
--- a/media/img/admin/arrow-up.gif
+++ b/django/conf/admin_media/img/admin/arrow-up.gif
Binary files differ
diff --git a/media/img/admin/changelist-bg.gif b/django/conf/admin_media/img/admin/changelist-bg.gif
index 7f4699470a..7f4699470a 100644
--- a/media/img/admin/changelist-bg.gif
+++ b/django/conf/admin_media/img/admin/changelist-bg.gif
Binary files differ
diff --git a/media/img/admin/chooser-bg.gif b/django/conf/admin_media/img/admin/chooser-bg.gif
index 30e83c2518..30e83c2518 100644
--- a/media/img/admin/chooser-bg.gif
+++ b/django/conf/admin_media/img/admin/chooser-bg.gif
Binary files differ
diff --git a/media/img/admin/chooser_stacked-bg.gif b/django/conf/admin_media/img/admin/chooser_stacked-bg.gif
index 5d104b6d98..5d104b6d98 100644
--- a/media/img/admin/chooser_stacked-bg.gif
+++ b/django/conf/admin_media/img/admin/chooser_stacked-bg.gif
Binary files differ
diff --git a/media/img/admin/default-bg-reverse.gif b/django/conf/admin_media/img/admin/default-bg-reverse.gif
index 0873281e51..0873281e51 100644
--- a/media/img/admin/default-bg-reverse.gif
+++ b/django/conf/admin_media/img/admin/default-bg-reverse.gif
Binary files differ
diff --git a/media/img/admin/default-bg.gif b/django/conf/admin_media/img/admin/default-bg.gif
index 003aeca59f..003aeca59f 100644
--- a/media/img/admin/default-bg.gif
+++ b/django/conf/admin_media/img/admin/default-bg.gif
Binary files differ
diff --git a/media/img/admin/icon-no.gif b/django/conf/admin_media/img/admin/icon-no.gif
index 1b4ee58145..1b4ee58145 100644
--- a/media/img/admin/icon-no.gif
+++ b/django/conf/admin_media/img/admin/icon-no.gif
Binary files differ
diff --git a/media/img/admin/icon-yes.gif b/django/conf/admin_media/img/admin/icon-yes.gif
index 7399282740..7399282740 100644
--- a/media/img/admin/icon-yes.gif
+++ b/django/conf/admin_media/img/admin/icon-yes.gif
Binary files differ
diff --git a/media/img/admin/icon_addlink.gif b/django/conf/admin_media/img/admin/icon_addlink.gif
index ee70e1adba..ee70e1adba 100644
--- a/media/img/admin/icon_addlink.gif
+++ b/django/conf/admin_media/img/admin/icon_addlink.gif
Binary files differ
diff --git a/media/img/admin/icon_alert.gif b/django/conf/admin_media/img/admin/icon_alert.gif
index a1dde26254..a1dde26254 100644
--- a/media/img/admin/icon_alert.gif
+++ b/django/conf/admin_media/img/admin/icon_alert.gif
Binary files differ
diff --git a/media/img/admin/icon_calendar.gif b/django/conf/admin_media/img/admin/icon_calendar.gif
index 7587b305a4..7587b305a4 100644
--- a/media/img/admin/icon_calendar.gif
+++ b/django/conf/admin_media/img/admin/icon_calendar.gif
Binary files differ
diff --git a/media/img/admin/icon_changelink.gif b/django/conf/admin_media/img/admin/icon_changelink.gif
index e1b9afde65..e1b9afde65 100644
--- a/media/img/admin/icon_changelink.gif
+++ b/django/conf/admin_media/img/admin/icon_changelink.gif
Binary files differ
diff --git a/media/img/admin/icon_clock.gif b/django/conf/admin_media/img/admin/icon_clock.gif
index ff2d57e0a3..ff2d57e0a3 100644
--- a/media/img/admin/icon_clock.gif
+++ b/django/conf/admin_media/img/admin/icon_clock.gif
Binary files differ
diff --git a/media/img/admin/icon_deletelink.gif b/django/conf/admin_media/img/admin/icon_deletelink.gif
index 72523e3a3b..72523e3a3b 100644
--- a/media/img/admin/icon_deletelink.gif
+++ b/django/conf/admin_media/img/admin/icon_deletelink.gif
Binary files differ
diff --git a/media/img/admin/icon_error.gif b/django/conf/admin_media/img/admin/icon_error.gif
index 3730a00b26..3730a00b26 100644
--- a/media/img/admin/icon_error.gif
+++ b/django/conf/admin_media/img/admin/icon_error.gif
Binary files differ
diff --git a/media/img/admin/icon_searchbox.png b/django/conf/admin_media/img/admin/icon_searchbox.png
index 8ab579e526..8ab579e526 100644
--- a/media/img/admin/icon_searchbox.png
+++ b/django/conf/admin_media/img/admin/icon_searchbox.png
Binary files differ
diff --git a/media/img/admin/icon_success.gif b/django/conf/admin_media/img/admin/icon_success.gif
index 5cf90a15aa..5cf90a15aa 100644
--- a/media/img/admin/icon_success.gif
+++ b/django/conf/admin_media/img/admin/icon_success.gif
Binary files differ
diff --git a/media/img/admin/nav-bg-grabber.gif b/django/conf/admin_media/img/admin/nav-bg-grabber.gif
index 0a784fa769..0a784fa769 100644
--- a/media/img/admin/nav-bg-grabber.gif
+++ b/django/conf/admin_media/img/admin/nav-bg-grabber.gif
Binary files differ
diff --git a/media/img/admin/nav-bg-reverse.gif b/django/conf/admin_media/img/admin/nav-bg-reverse.gif
index f11029f90f..f11029f90f 100644
--- a/media/img/admin/nav-bg-reverse.gif
+++ b/django/conf/admin_media/img/admin/nav-bg-reverse.gif
Binary files differ
diff --git a/media/img/admin/nav-bg.gif b/django/conf/admin_media/img/admin/nav-bg.gif
index f8402b809d..f8402b809d 100644
--- a/media/img/admin/nav-bg.gif
+++ b/django/conf/admin_media/img/admin/nav-bg.gif
Binary files differ
diff --git a/media/img/admin/selector-add.gif b/django/conf/admin_media/img/admin/selector-add.gif
index 50132d1c43..50132d1c43 100644
--- a/media/img/admin/selector-add.gif
+++ b/django/conf/admin_media/img/admin/selector-add.gif
Binary files differ
diff --git a/media/img/admin/selector-addall.gif b/django/conf/admin_media/img/admin/selector-addall.gif
index d6e7c639bb..d6e7c639bb 100644
--- a/media/img/admin/selector-addall.gif
+++ b/django/conf/admin_media/img/admin/selector-addall.gif
Binary files differ
diff --git a/media/img/admin/selector-remove.gif b/django/conf/admin_media/img/admin/selector-remove.gif
index 2b9b0a2ac3..2b9b0a2ac3 100644
--- a/media/img/admin/selector-remove.gif
+++ b/django/conf/admin_media/img/admin/selector-remove.gif
Binary files differ
diff --git a/media/img/admin/selector-removeall.gif b/django/conf/admin_media/img/admin/selector-removeall.gif
index 5a4421926d..5a4421926d 100644
--- a/media/img/admin/selector-removeall.gif
+++ b/django/conf/admin_media/img/admin/selector-removeall.gif
Binary files differ
diff --git a/media/img/admin/selector-search.gif b/django/conf/admin_media/img/admin/selector-search.gif
index 6d5f4c7492..6d5f4c7492 100644
--- a/media/img/admin/selector-search.gif
+++ b/django/conf/admin_media/img/admin/selector-search.gif
Binary files differ
diff --git a/media/img/admin/selector_stacked-add.gif b/django/conf/admin_media/img/admin/selector_stacked-add.gif
index 7426169652..7426169652 100644
--- a/media/img/admin/selector_stacked-add.gif
+++ b/django/conf/admin_media/img/admin/selector_stacked-add.gif
Binary files differ
diff --git a/media/img/admin/selector_stacked-remove.gif b/django/conf/admin_media/img/admin/selector_stacked-remove.gif
index 60412cee19..60412cee19 100644
--- a/media/img/admin/selector_stacked-remove.gif
+++ b/django/conf/admin_media/img/admin/selector_stacked-remove.gif
Binary files differ
diff --git a/media/img/admin/tool-left.gif b/django/conf/admin_media/img/admin/tool-left.gif
index 011490ff3a..011490ff3a 100644
--- a/media/img/admin/tool-left.gif
+++ b/django/conf/admin_media/img/admin/tool-left.gif
Binary files differ
diff --git a/media/img/admin/tool-left_over.gif b/django/conf/admin_media/img/admin/tool-left_over.gif
index 937e07bb1a..937e07bb1a 100644
--- a/media/img/admin/tool-left_over.gif
+++ b/django/conf/admin_media/img/admin/tool-left_over.gif
Binary files differ
diff --git a/media/img/admin/tool-right.gif b/django/conf/admin_media/img/admin/tool-right.gif
index cdc140cc59..cdc140cc59 100644
--- a/media/img/admin/tool-right.gif
+++ b/django/conf/admin_media/img/admin/tool-right.gif
Binary files differ
diff --git a/media/img/admin/tool-right_over.gif b/django/conf/admin_media/img/admin/tool-right_over.gif
index 4db977e838..4db977e838 100644
--- a/media/img/admin/tool-right_over.gif
+++ b/django/conf/admin_media/img/admin/tool-right_over.gif
Binary files differ
diff --git a/media/img/admin/tooltag-add.gif b/django/conf/admin_media/img/admin/tooltag-add.gif
index 8b53d49ae5..8b53d49ae5 100644
--- a/media/img/admin/tooltag-add.gif
+++ b/django/conf/admin_media/img/admin/tooltag-add.gif
Binary files differ
diff --git a/media/img/admin/tooltag-add_over.gif b/django/conf/admin_media/img/admin/tooltag-add_over.gif
index bfc52f10de..bfc52f10de 100644
--- a/media/img/admin/tooltag-add_over.gif
+++ b/django/conf/admin_media/img/admin/tooltag-add_over.gif
Binary files differ
diff --git a/media/img/admin/tooltag-arrowright.gif b/django/conf/admin_media/img/admin/tooltag-arrowright.gif
index cdaaae77ed..cdaaae77ed 100644
--- a/media/img/admin/tooltag-arrowright.gif
+++ b/django/conf/admin_media/img/admin/tooltag-arrowright.gif
Binary files differ
diff --git a/media/img/admin/tooltag-arrowright_over.gif b/django/conf/admin_media/img/admin/tooltag-arrowright_over.gif
index 7163189604..7163189604 100644
--- a/media/img/admin/tooltag-arrowright_over.gif
+++ b/django/conf/admin_media/img/admin/tooltag-arrowright_over.gif
Binary files differ
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
diff --git a/setup.py b/setup.py
index 1824dfd1ff..50ee6ff021 100644
--- a/setup.py
+++ b/setup.py
@@ -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'],
)