diff options
| author | Jannis Leidel <jannis@leidel.info> | 2011-06-30 09:06:19 +0000 |
|---|---|---|
| committer | Jannis Leidel <jannis@leidel.info> | 2011-06-30 09:06:19 +0000 |
| commit | 38a2444277a84eb6b74425f0e324d1dceb7d2ef1 (patch) | |
| tree | 1bfffc0cc808a57c1250c6e7e2986f8ba721fd9c /django | |
| parent | 89e0e8b6bc861bb95e55bd5e255e756fe3be1cf2 (diff) | |
Fixed #16050 -- BACKWARDS-INCOMPATIBLE CHANGE: Moved static files of the admin to conventional file system location.
This also removes the need for ADMIN_MEDIA_PREFIX and replaces it with the convention to find admin's static files at STATIC_URL + 'admin/'.
Thanks to Jacob for the review and general help.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16487 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
| -rw-r--r-- | django/conf/__init__.py | 5 | ||||
| -rw-r--r-- | django/conf/global_settings.py | 5 | ||||
| -rw-r--r-- | django/conf/project_template/settings.py | 5 | ||||
| -rw-r--r-- | django/contrib/admin/helpers.py | 5 | ||||
| -rw-r--r-- | django/contrib/admin/options.py | 30 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/css/base.css (renamed from django/contrib/admin/media/css/base.css) | 64 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/css/changelists.css (renamed from django/contrib/admin/media/css/changelists.css) | 10 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/css/dashboard.css (renamed from django/contrib/admin/media/css/dashboard.css) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/css/forms.css (renamed from django/contrib/admin/media/css/forms.css) | 12 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/css/ie.css (renamed from django/contrib/admin/media/css/ie.css) | 2 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/css/login.css (renamed from django/contrib/admin/media/css/login.css) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/css/rtl.css (renamed from django/contrib/admin/media/css/rtl.css) | 4 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/css/widgets.css (renamed from django/contrib/admin/media/css/widgets.css) | 40 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/img/arrow-down.gif (renamed from django/contrib/admin/media/img/admin/arrow-down.gif) | bin | 80 -> 80 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/arrow-up.gif (renamed from django/contrib/admin/media/img/admin/arrow-up.gif) | bin | 838 -> 838 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/changelist-bg.gif (renamed from django/contrib/admin/media/img/admin/changelist-bg.gif) | bin | 58 -> 58 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/changelist-bg_rtl.gif (renamed from django/contrib/admin/media/img/admin/changelist-bg_rtl.gif) | bin | 75 -> 75 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/chooser-bg.gif (renamed from django/contrib/admin/media/img/admin/chooser-bg.gif) | bin | 199 -> 199 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/chooser_stacked-bg.gif (renamed from django/contrib/admin/media/img/admin/chooser_stacked-bg.gif) | bin | 212 -> 212 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/default-bg-reverse.gif (renamed from django/contrib/admin/media/img/admin/default-bg-reverse.gif) | bin | 843 -> 843 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/default-bg.gif (renamed from django/contrib/admin/media/img/admin/default-bg.gif) | bin | 844 -> 844 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/deleted-overlay.gif (renamed from django/contrib/admin/media/img/admin/deleted-overlay.gif) | bin | 45 -> 45 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/gis/move_vertex_off.png (renamed from django/contrib/admin/media/img/gis/move_vertex_off.png) | bin | 711 -> 711 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/gis/move_vertex_on.png (renamed from django/contrib/admin/media/img/gis/move_vertex_on.png) | bin | 506 -> 506 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/icon-no.gif (renamed from django/contrib/admin/media/img/admin/icon-no.gif) | bin | 176 -> 176 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/icon-unknown.gif (renamed from django/contrib/admin/media/img/admin/icon-unknown.gif) | bin | 130 -> 130 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/icon-yes.gif (renamed from django/contrib/admin/media/img/admin/icon-yes.gif) | bin | 299 -> 299 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/icon_addlink.gif (renamed from django/contrib/admin/media/img/admin/icon_addlink.gif) | bin | 119 -> 119 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/icon_alert.gif (renamed from django/contrib/admin/media/img/admin/icon_alert.gif) | bin | 145 -> 145 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/icon_calendar.gif (renamed from django/contrib/admin/media/img/admin/icon_calendar.gif) | bin | 192 -> 192 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/icon_changelink.gif (renamed from django/contrib/admin/media/img/admin/icon_changelink.gif) | bin | 119 -> 119 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/icon_clock.gif (renamed from django/contrib/admin/media/img/admin/icon_clock.gif) | bin | 390 -> 390 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/icon_cog.gif (renamed from django/contrib/admin/media/img/admin/icon_cog.gif) | bin | 537 -> 537 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/icon_deletelink.gif (renamed from django/contrib/admin/media/img/admin/icon_deletelink.gif) | bin | 181 -> 181 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/icon_error.gif (renamed from django/contrib/admin/media/img/admin/icon_error.gif) | bin | 319 -> 319 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/icon_searchbox.png (renamed from django/contrib/admin/media/img/admin/icon_searchbox.png) | bin | 667 -> 667 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/icon_success.gif (renamed from django/contrib/admin/media/img/admin/icon_success.gif) | bin | 341 -> 341 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/inline-delete-8bit.png (renamed from django/contrib/admin/media/img/admin/inline-delete-8bit.png) | bin | 477 -> 477 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/inline-delete.png (renamed from django/contrib/admin/media/img/admin/inline-delete.png) | bin | 781 -> 781 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/inline-restore-8bit.png (renamed from django/contrib/admin/media/img/admin/inline-restore-8bit.png) | bin | 447 -> 447 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/inline-restore.png (renamed from django/contrib/admin/media/img/admin/inline-restore.png) | bin | 623 -> 623 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/inline-splitter-bg.gif (renamed from django/contrib/admin/media/img/admin/inline-splitter-bg.gif) | bin | 102 -> 102 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/nav-bg-grabber.gif (renamed from django/contrib/admin/media/img/admin/nav-bg-grabber.gif) | bin | 116 -> 116 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/nav-bg-reverse.gif (renamed from django/contrib/admin/media/img/admin/nav-bg-reverse.gif) | bin | 186 -> 186 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/nav-bg-selected.gif (renamed from django/contrib/admin/media/img/admin/nav-bg-selected.gif) | bin | 265 -> 265 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/nav-bg.gif (renamed from django/contrib/admin/media/img/admin/nav-bg.gif) | bin | 273 -> 273 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/selector-add.gif (renamed from django/contrib/admin/media/img/admin/selector-add.gif) | bin | 606 -> 606 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/selector-addall.gif (renamed from django/contrib/admin/media/img/admin/selector-addall.gif) | bin | 358 -> 358 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/selector-remove.gif (renamed from django/contrib/admin/media/img/admin/selector-remove.gif) | bin | 398 -> 398 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/selector-removeall.gif (renamed from django/contrib/admin/media/img/admin/selector-removeall.gif) | bin | 355 -> 355 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/selector-search.gif (renamed from django/contrib/admin/media/img/admin/selector-search.gif) | bin | 552 -> 552 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/selector_stacked-add.gif (renamed from django/contrib/admin/media/img/admin/selector_stacked-add.gif) | bin | 612 -> 612 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/selector_stacked-remove.gif (renamed from django/contrib/admin/media/img/admin/selector_stacked-remove.gif) | bin | 401 -> 401 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/tool-left.gif (renamed from django/contrib/admin/media/img/admin/tool-left.gif) | bin | 197 -> 197 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/tool-left_over.gif (renamed from django/contrib/admin/media/img/admin/tool-left_over.gif) | bin | 203 -> 203 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/tool-right.gif (renamed from django/contrib/admin/media/img/admin/tool-right.gif) | bin | 198 -> 198 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/tool-right_over.gif (renamed from django/contrib/admin/media/img/admin/tool-right_over.gif) | bin | 200 -> 200 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/tooltag-add.gif (renamed from django/contrib/admin/media/img/admin/tooltag-add.gif) | bin | 932 -> 932 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/tooltag-add_over.gif (renamed from django/contrib/admin/media/img/admin/tooltag-add_over.gif) | bin | 336 -> 336 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/tooltag-arrowright.gif (renamed from django/contrib/admin/media/img/admin/tooltag-arrowright.gif) | bin | 351 -> 351 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/img/tooltag-arrowright_over.gif (renamed from django/contrib/admin/media/img/admin/tooltag-arrowright_over.gif) | bin | 354 -> 354 bytes | |||
| -rw-r--r-- | django/contrib/admin/static/admin/js/LICENSE-JQUERY.txt (renamed from django/contrib/admin/media/js/LICENSE-JQUERY.txt) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/SelectBox.js (renamed from django/contrib/admin/media/js/SelectBox.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/SelectFilter2.js (renamed from django/contrib/admin/media/js/SelectFilter2.js) | 4 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/actions.js (renamed from django/contrib/admin/media/js/actions.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/actions.min.js (renamed from django/contrib/admin/media/js/actions.min.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js (renamed from django/contrib/admin/media/js/admin/DateTimeShortcuts.js) | 4 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js (renamed from django/contrib/admin/media/js/admin/RelatedObjectLookups.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/admin/ordering.js (renamed from django/contrib/admin/media/js/admin/ordering.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/calendar.js (renamed from django/contrib/admin/media/js/calendar.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/collapse.js (renamed from django/contrib/admin/media/js/collapse.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/collapse.min.js (renamed from django/contrib/admin/media/js/collapse.min.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/compress.py (renamed from django/contrib/admin/media/js/compress.py) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/core.js (renamed from django/contrib/admin/media/js/core.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/getElementsBySelector.js (renamed from django/contrib/admin/media/js/getElementsBySelector.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/inlines.js (renamed from django/contrib/admin/media/js/inlines.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/inlines.min.js (renamed from django/contrib/admin/media/js/inlines.min.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/jquery.init.js (renamed from django/contrib/admin/media/js/jquery.init.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/jquery.js (renamed from django/contrib/admin/media/js/jquery.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/jquery.min.js (renamed from django/contrib/admin/media/js/jquery.min.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/prepopulate.js (renamed from django/contrib/admin/media/js/prepopulate.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/prepopulate.min.js (renamed from django/contrib/admin/media/js/prepopulate.min.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/timeparse.js (renamed from django/contrib/admin/media/js/timeparse.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/static/admin/js/urlify.js (renamed from django/contrib/admin/media/js/urlify.js) | 0 | ||||
| -rw-r--r-- | django/contrib/admin/templates/admin/auth/user/change_password.html | 4 | ||||
| -rw-r--r-- | django/contrib/admin/templates/admin/base.html | 10 | ||||
| -rw-r--r-- | django/contrib/admin/templates/admin/change_form.html | 4 | ||||
| -rw-r--r-- | django/contrib/admin/templates/admin/change_list.html | 6 | ||||
| -rw-r--r-- | django/contrib/admin/templates/admin/change_list_results.html | 5 | ||||
| -rw-r--r-- | django/contrib/admin/templates/admin/edit_inline/stacked.html | 6 | ||||
| -rw-r--r-- | django/contrib/admin/templates/admin/edit_inline/tabular.html | 6 | ||||
| -rw-r--r-- | django/contrib/admin/templates/admin/index.html | 4 | ||||
| -rw-r--r-- | django/contrib/admin/templates/admin/login.html | 4 | ||||
| -rw-r--r-- | django/contrib/admin/templates/admin/search_form.html | 5 | ||||
| -rw-r--r-- | django/contrib/admin/templates/registration/password_change_form.html | 4 | ||||
| -rw-r--r-- | django/contrib/admin/templatetags/admin_list.py | 7 | ||||
| -rw-r--r-- | django/contrib/admin/templatetags/adminmedia.py | 4 | ||||
| -rw-r--r-- | django/contrib/admin/widgets.py | 34 | ||||
| -rw-r--r-- | django/contrib/gis/admin/widgets.py | 11 | ||||
| -rw-r--r-- | django/contrib/gis/templates/gis/admin/openlayers.html | 5 | ||||
| -rw-r--r-- | django/contrib/staticfiles/storage.py | 9 | ||||
| -rw-r--r-- | django/core/servers/basehttp.py | 13 | ||||
| -rw-r--r-- | django/templatetags/static.py | 20 |
103 files changed, 177 insertions, 174 deletions
diff --git a/django/conf/__init__.py b/django/conf/__init__.py index c99b307c6d..4337bd4c11 100644 --- a/django/conf/__init__.py +++ b/django/conf/__init__.py @@ -68,8 +68,11 @@ class BaseSettings(object): """ def __setattr__(self, name, value): if name in ("MEDIA_URL", "STATIC_URL") and value and not value.endswith('/'): - warnings.warn('If set, %s must end with a slash' % name, + warnings.warn("If set, %s must end with a slash" % name, DeprecationWarning) + elif name == "ADMIN_MEDIA_PREFIX": + warnings.warn("The ADMIN_MEDIA_PREFIX setting has been removed; " + "use STATIC_URL instead.", DeprecationWarning) object.__setattr__(self, name, value) diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py index fedea55bac..5ee12d715f 100644 --- a/django/conf/global_settings.py +++ b/django/conf/global_settings.py @@ -593,8 +593,3 @@ STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.AppDirectoriesFinder', # 'django.contrib.staticfiles.finders.DefaultStorageFinder', ) - -# URL prefix for admin media -- CSS, JavaScript and images. -# Make sure to use a trailing slash. -# Examples: "http://foo.com/static/admin/", "/static/admin/". -ADMIN_MEDIA_PREFIX = '/static/admin/' diff --git a/django/conf/project_template/settings.py b/django/conf/project_template/settings.py index 794522b202..3a2243fbc6 100644 --- a/django/conf/project_template/settings.py +++ b/django/conf/project_template/settings.py @@ -62,11 +62,6 @@ STATIC_ROOT = '' # Example: "http://media.lawrence.com/static/" STATIC_URL = '/static/' -# URL prefix for admin static files -- CSS, JavaScript and images. -# Make sure to use a trailing slash. -# Examples: "http://foo.com/static/admin/", "/static/admin/". -ADMIN_MEDIA_PREFIX = '/static/admin/' - # Additional locations of static files STATICFILES_DIRS = ( # Put strings here, like "/home/html/static" or "C:/www/django/static". diff --git a/django/contrib/admin/helpers.py b/django/contrib/admin/helpers.py index 0c2f287fe5..d15716b909 100644 --- a/django/contrib/admin/helpers.py +++ b/django/contrib/admin/helpers.py @@ -1,5 +1,4 @@ from django import forms -from django.conf import settings from django.contrib.admin.util import (flatten_fieldsets, lookup_field, display_for_field, label_for_field, help_text_for_field) from django.contrib.contenttypes.models import ContentType @@ -75,8 +74,8 @@ class Fieldset(object): def _media(self): if 'collapse' in self.classes: - js = ['js/jquery.min.js', 'js/jquery.init.js', 'js/collapse.min.js'] - return forms.Media(js=['%s%s' % (settings.ADMIN_MEDIA_PREFIX, url) for url in js]) + js = ['jquery.min.js', 'jquery.init.js', 'collapse.min.js'] + return forms.Media(js=['admin/js/%s' % url for url in js]) return forms.Media() media = property(_media) diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index 6d33239292..703421f1bc 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -349,19 +349,19 @@ class ModelAdmin(BaseModelAdmin): urls = property(urls) def _media(self): - from django.conf import settings - - js = ['js/core.js', 'js/admin/RelatedObjectLookups.js', - 'js/jquery.min.js', 'js/jquery.init.js'] + js = [ + 'core.js', + 'admin/RelatedObjectLookups.js', + 'jquery.min.js', + 'jquery.init.js' + ] if self.actions is not None: - js.extend(['js/actions.min.js']) + js.append('actions.min.js') if self.prepopulated_fields: - js.append('js/urlify.js') - js.append('js/prepopulate.min.js') + js.extend(['urlify.js', 'prepopulate.min.js']) if self.opts.get_ordered_objects(): - js.extend(['js/getElementsBySelector.js', 'js/dom-drag.js' , 'js/admin/ordering.js']) - - return forms.Media(js=['%s%s' % (settings.ADMIN_MEDIA_PREFIX, url) for url in js]) + js.extend(['getElementsBySelector.js', 'dom-drag.js' , 'admin/ordering.js']) + return forms.Media(js=['admin/js/%s' % url for url in js]) media = property(_media) def has_add_permission(self, request): @@ -1321,14 +1321,12 @@ class InlineModelAdmin(BaseModelAdmin): self.verbose_name_plural = self.model._meta.verbose_name_plural def _media(self): - from django.conf import settings - js = ['js/jquery.min.js', 'js/jquery.init.js', 'js/inlines.min.js'] + js = ['jquery.min.js', 'jquery.init.js', 'inlines.min.js'] if self.prepopulated_fields: - js.append('js/urlify.js') - js.append('js/prepopulate.min.js') + js.extend(['urlify.js, prepopulate.min.js']) if self.filter_vertical or self.filter_horizontal: - js.extend(['js/SelectBox.js' , 'js/SelectFilter2.js']) - return forms.Media(js=['%s%s' % (settings.ADMIN_MEDIA_PREFIX, url) for url in js]) + js.extend(['SelectBox.js', 'SelectFilter2.js']) + return forms.Media(js=['admin/js/%s' % url for url in js]) media = property(_media) def get_formset(self, request, obj=None, **kwargs): diff --git a/django/contrib/admin/media/css/base.css b/django/contrib/admin/static/admin/css/base.css index 6d1b673b90..23fddafd7a 100644 --- a/django/contrib/admin/media/css/base.css +++ b/django/contrib/admin/static/admin/css/base.css @@ -259,7 +259,7 @@ tfoot td { color: #666; padding: 2px 5px; font-size: 11px; - background: #e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x; + background: #e1e1e1 url(../img/nav-bg.gif) top left repeat-x; border-left: 1px solid #ddd; border-bottom: 1px solid #ddd; } @@ -311,7 +311,7 @@ thead th a:link, thead th a:visited { } thead th.sorted { - background: #c5c5c5 url(../img/admin/nav-bg-selected.gif) top left repeat-x; + background: #c5c5c5 url(../img/nav-bg-selected.gif) top left repeat-x; } table thead th.sorted a { @@ -319,11 +319,11 @@ table thead th.sorted a { } table thead th.ascending a { - background: url(../img/admin/arrow-up.gif) right .4em no-repeat; + background: url(../img/arrow-up.gif) right .4em no-repeat; } table thead th.descending a { - background: url(../img/admin/arrow-down.gif) right .4em no-repeat; + background: url(../img/arrow-down.gif) right .4em no-repeat; } table thead th.sorted a span.text { @@ -368,7 +368,7 @@ table thead th.sorted a span.clear { #sorting-popup-div .cancel { font-size: 10px; - background: #e1e1e1 url(../img/admin/nav-bg.gif) 0 50% repeat-x; + background: #e1e1e1 url(../img/nav-bg.gif) 0 50% repeat-x; border-top: 1px solid #ddd; text-align: center; } @@ -386,7 +386,7 @@ table.orderable tbody tr td:hover { table.orderable tbody tr td:first-child { padding-left: 14px; - background-image: url(../img/admin/nav-bg-grabber.gif); + background-image: url(../img/nav-bg-grabber.gif); background-repeat: repeat-y; } @@ -416,7 +416,7 @@ input[type=text], input[type=password], textarea, select, .vTextField { /* FORM BUTTONS */ .button, input[type=submit], input[type=button], .submit-row input { - background: white url(../img/admin/nav-bg.gif) bottom repeat-x; + background: white url(../img/nav-bg.gif) bottom repeat-x; padding: 3px 5px; color: black; border: 1px solid #bbb; @@ -424,31 +424,31 @@ input[type=text], input[type=password], textarea, select, .vTextField { } .button:active, input[type=submit]:active, input[type=button]:active { - background-image: url(../img/admin/nav-bg-reverse.gif); + background-image: url(../img/nav-bg-reverse.gif); background-position: top; } .button[disabled], input[type=submit][disabled], input[type=button][disabled] { - background-image: url(../img/admin/nav-bg.gif); + background-image: url(../img/nav-bg.gif); background-position: bottom; opacity: 0.4; } .button.default, input[type=submit].default, .submit-row input.default { border: 2px solid #5b80b2; - background: #7CA0C7 url(../img/admin/default-bg.gif) bottom repeat-x; + background: #7CA0C7 url(../img/default-bg.gif) bottom repeat-x; font-weight: bold; color: white; float: right; } .button.default:active, input[type=submit].default:active { - background-image: url(../img/admin/default-bg-reverse.gif); + background-image: url(../img/default-bg-reverse.gif); background-position: top; } .button[disabled].default, input[type=submit][disabled].default, input[type=button][disabled].default { - background-image: url(../img/admin/default-bg.gif); + background-image: url(../img/default-bg.gif); background-position: bottom; opacity: 0.4; } @@ -485,7 +485,7 @@ input[type=text], input[type=password], textarea, select, .vTextField { font-size: 11px; text-align: left; font-weight: bold; - background: #7CA0C7 url(../img/admin/default-bg.gif) top left repeat-x; + background: #7CA0C7 url(../img/default-bg.gif) top left repeat-x; color: white; } @@ -507,15 +507,15 @@ ul.messagelist li { margin: 0 0 3px 0; border-bottom: 1px solid #ddd; color: #666; - background: #ffc url(../img/admin/icon_success.gif) 5px .3em no-repeat; + background: #ffc url(../img/icon_success.gif) 5px .3em no-repeat; } ul.messagelist li.warning{ - background-image: url(../img/admin/icon_alert.gif); + background-image: url(../img/icon_alert.gif); } ul.messagelist li.error{ - background-image: url(../img/admin/icon_error.gif); + background-image: url(../img/icon_error.gif); } .errornote { @@ -525,7 +525,7 @@ ul.messagelist li.error{ margin: 0 0 3px 0; border: 1px solid red; color: red; - background: #ffc url(../img/admin/icon_error.gif) 5px .3em no-repeat; + background: #ffc url(../img/icon_error.gif) 5px .3em no-repeat; } ul.errorlist { @@ -540,7 +540,7 @@ ul.errorlist { margin: 0 0 3px 0; border: 1px solid red; color: white; - background: red url(../img/admin/icon_alert.gif) 5px .3em no-repeat; + background: red url(../img/icon_alert.gif) 5px .3em no-repeat; } .errorlist li a { @@ -576,7 +576,7 @@ div.system-message p.system-message-title { padding: 4px 5px 4px 25px; margin: 0; color: red; - background: #ffc url(../img/admin/icon_error.gif) 5px .3em no-repeat; + background: #ffc url(../img/icon_error.gif) 5px .3em no-repeat; } .description { @@ -587,7 +587,7 @@ div.system-message p.system-message-title { /* BREADCRUMBS */ div.breadcrumbs { - background: white url(../img/admin/nav-bg-reverse.gif) 0 -10px repeat-x; + background: white url(../img/nav-bg-reverse.gif) 0 -10px repeat-x; padding: 2px 8px 3px 8px; font-size: 11px; color: #999; @@ -600,17 +600,17 @@ div.breadcrumbs { .addlink { padding-left: 12px; - background: url(../img/admin/icon_addlink.gif) 0 .2em no-repeat; + background: url(../img/icon_addlink.gif) 0 .2em no-repeat; } .changelink { padding-left: 12px; - background: url(../img/admin/icon_changelink.gif) 0 .2em no-repeat; + background: url(../img/icon_changelink.gif) 0 .2em no-repeat; } .deletelink { padding-left: 12px; - background: url(../img/admin/icon_deletelink.gif) 0 .25em no-repeat; + background: url(../img/icon_deletelink.gif) 0 .25em no-repeat; } a.deletelink:link, a.deletelink:visited { @@ -645,14 +645,14 @@ a.deletelink:hover { .object-tools li { display: block; float: left; - background: url(../img/admin/tool-left.gif) 0 0 no-repeat; + background: url(../img/tool-left.gif) 0 0 no-repeat; padding: 0 0 0 8px; margin-left: 2px; height: 16px; } .object-tools li:hover { - background: url(../img/admin/tool-left_over.gif) 0 0 no-repeat; + background: url(../img/tool-left_over.gif) 0 0 no-repeat; } .object-tools a:link, .object-tools a:visited { @@ -661,29 +661,29 @@ a.deletelink:hover { color: white; padding: .1em 14px .1em 8px; height: 14px; - background: #999 url(../img/admin/tool-right.gif) 100% 0 no-repeat; + background: #999 url(../img/tool-right.gif) 100% 0 no-repeat; } .object-tools a:hover, .object-tools li:hover a { - background: #5b80b2 url(../img/admin/tool-right_over.gif) 100% 0 no-repeat; + background: #5b80b2 url(../img/tool-right_over.gif) 100% 0 no-repeat; } .object-tools a.viewsitelink, .object-tools a.golink { - background: #999 url(../img/admin/tooltag-arrowright.gif) top right no-repeat; + background: #999 url(../img/tooltag-arrowright.gif) top right no-repeat; padding-right: 28px; } .object-tools a.viewsitelink:hover, .object-tools a.golink:hover { - background: #5b80b2 url(../img/admin/tooltag-arrowright_over.gif) top right no-repeat; + background: #5b80b2 url(../img/tooltag-arrowright_over.gif) top right no-repeat; } .object-tools a.addlink { - background: #999 url(../img/admin/tooltag-add.gif) top right no-repeat; + background: #999 url(../img/tooltag-add.gif) top right no-repeat; padding-right: 28px; } .object-tools a.addlink:hover { - background: #5b80b2 url(../img/admin/tooltag-add_over.gif) top right no-repeat; + background: #5b80b2 url(../img/tooltag-add_over.gif) top right no-repeat; } /* OBJECT HISTORY */ @@ -818,7 +818,7 @@ table#change-history tbody th { } #content-related .module h2 { - background: #eee url(../img/admin/nav-bg.gif) bottom left repeat-x; + background: #eee url(../img/nav-bg.gif) bottom left repeat-x; color: #666; } diff --git a/django/contrib/admin/media/css/changelists.css b/django/contrib/admin/static/admin/css/changelists.css index 315b8c7a38..8eeca3d60d 100644 --- a/django/contrib/admin/media/css/changelists.css +++ b/django/contrib/admin/static/admin/css/changelists.css @@ -20,7 +20,7 @@ } .change-list .filtered { - background: white url(../img/admin/changelist-bg.gif) top right repeat-y !important; + background: white url(../img/changelist-bg.gif) top right repeat-y !important; } .change-list .filtered .results, .change-list .filtered .paginator, .filtered #toolbar, .filtered div.xfull { @@ -40,7 +40,7 @@ color: #666; border-top: 1px solid #eee; border-bottom: 1px solid #eee; - background: white url(../img/admin/nav-bg.gif) 0 180% repeat-x; + background: white url(../img/nav-bg.gif) 0 180% repeat-x; overflow: hidden; } @@ -82,7 +82,7 @@ #changelist #toolbar { padding: 3px; border-bottom: 1px solid #ddd; - background: #e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x; + background: #e1e1e1 url(../img/nav-bg.gif) top left repeat-x; color: #666; } @@ -156,7 +156,7 @@ .change-list ul.toplinks { display: block; - background: white url(../img/admin/nav-bg-reverse.gif) 0 -10px repeat-x; + background: white url(../img/nav-bg-reverse.gif) 0 -10px repeat-x; border-top: 1px solid white; float: left; padding: 0 !important; @@ -246,7 +246,7 @@ padding: 3px; border-top: 1px solid #fff; border-bottom: 1px solid #ddd; - background: white url(../img/admin/nav-bg-reverse.gif) 0 -10px repeat-x; + background: white url(../img/nav-bg-reverse.gif) 0 -10px repeat-x; } #changelist .actions.selected { diff --git a/django/contrib/admin/media/css/dashboard.css b/django/contrib/admin/static/admin/css/dashboard.css index ceefe1525f..ceefe1525f 100644 --- a/django/contrib/admin/media/css/dashboard.css +++ b/django/contrib/admin/static/admin/css/dashboard.css diff --git a/django/contrib/admin/media/css/forms.css b/django/contrib/admin/static/admin/css/forms.css index 5149732719..0ecfca784c 100644 --- a/django/contrib/admin/media/css/forms.css +++ b/django/contrib/admin/static/admin/css/forms.css @@ -140,7 +140,7 @@ fieldset.collapsed h2, fieldset.collapsed { } fieldset.collapsed h2 { - background-image: url(../img/admin/nav-bg.gif); + background-image: url(../img/nav-bg.gif); background-position: bottom left; color: #999; } @@ -161,7 +161,7 @@ fieldset.monospace textarea { .submit-row { padding: 5px 7px; text-align: right; - background: white url(../img/admin/nav-bg.gif) 0 100% repeat-x; + background: white url(../img/nav-bg.gif) 0 100% repeat-x; border: 1px solid #ccc; margin: 5px 0; overflow: hidden; @@ -184,7 +184,7 @@ body.popup .submit-row { } .submit-row .deletelink { - background: url(../img/admin/icon_deletelink.gif) 0 50% no-repeat; + background: url(../img/icon_deletelink.gif) 0 50% no-repeat; padding-left: 14px; } @@ -251,7 +251,7 @@ body.popup .submit-row { color: #666; padding: 3px 5px; font-size: 11px; - background: #e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x; + background: #e1e1e1 url(../img/nav-bg.gif) top left repeat-x; border-bottom: 1px solid #ddd; } @@ -336,7 +336,7 @@ body.popup .submit-row { color: #666; padding: 3px 5px; border-bottom: 1px solid #ddd; - background: #e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x; + background: #e1e1e1 url(../img/nav-bg.gif) top left repeat-x; } .inline-group .tabular tr.add-row td { @@ -347,7 +347,7 @@ body.popup .submit-row { .inline-group ul.tools a.add, .inline-group div.add-row a, .inline-group .tabular tr.add-row td a { - background: url(../img/admin/icon_addlink.gif) 0 50% no-repeat; + background: url(../img/icon_addlink.gif) 0 50% no-repeat; padding-left: 14px; font-size: 11px; outline: 0; /* Remove dotted border around link */ diff --git a/django/contrib/admin/media/css/ie.css b/django/contrib/admin/static/admin/css/ie.css index 5fd1ce364b..3776e991ff 100644 --- a/django/contrib/admin/media/css/ie.css +++ b/django/contrib/admin/static/admin/css/ie.css @@ -53,5 +53,5 @@ /* IE doesn't know alpha transparency in PNGs */ .inline-deletelink { - background: transparent url(../img/admin/inline-delete-8bit.png) no-repeat; + background: transparent url(../img/inline-delete-8bit.png) no-repeat; }
\ No newline at end of file diff --git a/django/contrib/admin/media/css/login.css b/django/contrib/admin/static/admin/css/login.css index 8d90d12901..8d90d12901 100644 --- a/django/contrib/admin/media/css/login.css +++ b/django/contrib/admin/static/admin/css/login.css diff --git a/django/contrib/admin/media/css/rtl.css b/django/contrib/admin/static/admin/css/rtl.css index ec2bb2a9da..c32fcf0808 100644 --- a/django/contrib/admin/media/css/rtl.css +++ b/django/contrib/admin/static/admin/css/rtl.css @@ -113,7 +113,7 @@ table thead th.sorted a span.sortpos { } .change-list .filtered { - background: white url(../img/admin/changelist-bg_rtl.gif) top left repeat-y !important; + background: white url(../img/changelist-bg_rtl.gif) top left repeat-y !important; } .change-list .filtered table { @@ -170,7 +170,7 @@ table thead th.sorted a span.sortpos { } .submit-row .deletelink { - background: url(../img/admin/icon_deletelink.gif) 0 50% no-repeat; + background: url(../img/icon_deletelink.gif) 0 50% no-repeat; padding-right: 14px; } diff --git a/django/contrib/admin/media/css/widgets.css b/django/contrib/admin/static/admin/css/widgets.css index 26400fac50..4f4ea0a8f5 100644 --- a/django/contrib/admin/media/css/widgets.css +++ b/django/contrib/admin/static/admin/css/widgets.css @@ -22,7 +22,7 @@ } .selector .selector-available h2 { - background: white url(../img/admin/nav-bg.gif) bottom left repeat-x; + background: white url(../img/nav-bg.gif) bottom left repeat-x; color: #666; } @@ -49,7 +49,7 @@ float: left; width: 22px; height: 50px; - background: url(../img/admin/chooser-bg.gif) top center no-repeat; + background: url(../img/chooser-bg.gif) top center no-repeat; margin: 8em 3px 0 3px; padding: 0; } @@ -74,12 +74,12 @@ } .selector-add { - background: url(../img/admin/selector-add.gif) top center no-repeat; + background: url(../img/selector-add.gif) top center no-repeat; margin-bottom: 2px; } .selector-remove { - background: url(../img/admin/selector-remove.gif) top center no-repeat; + background: url(../img/selector-remove.gif) top center no-repeat; } a.selector-chooseall, a.selector-clearall { @@ -99,11 +99,11 @@ a.selector-chooseall:hover, a.selector-clearall:hover { a.selector-chooseall { width: 7em; - background: url(../img/admin/selector-addall.gif) left center no-repeat; + background: url(../img/selector-addall.gif) left center no-repeat; } a.selector-clearall { - background: url(../img/admin/selector-removeall.gif) left center no-repeat; + background: url(../img/selector-removeall.gif) left center no-repeat; } @@ -135,7 +135,7 @@ a.selector-clearall { height: 22px; width: 50px; margin: 0 0 3px 40%; - background: url(../img/admin/chooser_stacked-bg.gif) top center no-repeat; + background: url(../img/chooser_stacked-bg.gif) top center no-repeat; } .stacked .selector-chooser li { @@ -148,11 +148,11 @@ a.selector-clearall { } .stacked .selector-add { - background-image: url(../img/admin/selector_stacked-add.gif); + background-image: url(../img/selector_stacked-add.gif); } .stacked .selector-remove { - background-image: url(../img/admin/selector_stacked-remove.gif); + background-image: url(../img/selector_stacked-remove.gif); } @@ -246,7 +246,7 @@ span.clearable-file-input label { color: #666; padding: 2px 3px; text-align: center; - background: #e1e1e1 url(../img/admin/nav-bg.gif) 0 50% repeat-x; + background: #e1e1e1 url(../img/nav-bg.gif) 0 50% repeat-x; border-bottom: 1px solid #ddd; } @@ -314,7 +314,7 @@ span.clearable-file-input label { position: absolute; font-weight: bold; font-size: 12px; - background: #C9DBED url(../img/admin/default-bg.gif) bottom left repeat-x; + background: #C9DBED url(../img/default-bg.gif) bottom left repeat-x; padding: 1px 4px 2px 4px; color: white; } @@ -337,7 +337,7 @@ span.clearable-file-input label { margin: 0 !important; padding: 0; font-size: 10px; - background: #e1e1e1 url(../img/admin/nav-bg.gif) 0 50% repeat-x; + background: #e1e1e1 url(../img/nav-bg.gif) 0 50% repeat-x; border-top: 1px solid #ddd; } @@ -374,7 +374,7 @@ ul.orderer li { border-width: 0 1px 1px 0; white-space: nowrap; overflow: hidden; - background: #e2e2e2 url(../img/admin/nav-bg-grabber.gif) repeat-y; + background: #e2e2e2 url(../img/nav-bg-grabber.gif) repeat-y; } ul.orderer li:hover { @@ -406,7 +406,7 @@ ul.orderer li.selected { } ul.orderer li.deleted { - background: #bbb url(../img/admin/deleted-overlay.gif); + background: #bbb url(../img/deleted-overlay.gif); } ul.orderer li.deleted a:link, ul.orderer li.deleted a:visited { @@ -414,7 +414,7 @@ ul.orderer li.deleted a:link, ul.orderer li.deleted a:visited { } ul.orderer li.deleted .inline-deletelink { - background-image: url(../img/admin/inline-restore.png); + background-image: url(../img/inline-restore.png); } ul.orderer li.deleted:hover, ul.orderer li.deleted a.selector:hover { @@ -426,7 +426,7 @@ ul.orderer li.deleted:hover, ul.orderer li.deleted a.selector:hover { .inline-deletelink { float: right; text-indent: -9999px; - background: transparent url(../img/admin/inline-delete.png) no-repeat; + background: transparent url(../img/inline-delete.png) no-repeat; width: 15px; height: 15px; border: 0px none; @@ -465,11 +465,11 @@ ul.orderer li.deleted:hover, ul.orderer li.deleted a.selector:hover { } .editinline tr.deleted { - background: #ddd url(../img/admin/deleted-overlay.gif); + background: #ddd url(../img/deleted-overlay.gif); } .editinline tr.deleted .inline-deletelink { - background-image: url(../img/admin/inline-restore.png); + background-image: url(../img/inline-restore.png); } .editinline tr.deleted td:hover { @@ -500,13 +500,13 @@ ul.orderer li.deleted:hover, ul.orderer li.deleted a.selector:hover { .editinline-stacked .inline-splitter { float: left; width: 9px; - background: #f8f8f8 url(../img/admin/inline-splitter-bg.gif) 50% 50% no-repeat; + background: #f8f8f8 url(../img/inline-splitter-bg.gif) 50% 50% no-repeat; border-right: 1px solid #ccc; } .editinline-stacked .controls { clear: both; - background: #e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x; + background: #e1e1e1 url(../img/nav-bg.gif) top left repeat-x; padding: 3px 4px; font-size: 11px; border-top: 1px solid #ddd; diff --git a/django/contrib/admin/media/img/admin/arrow-down.gif b/django/contrib/admin/static/admin/img/arrow-down.gif Binary files differindex a967b9fd55..a967b9fd55 100644 --- a/django/contrib/admin/media/img/admin/arrow-down.gif +++ b/django/contrib/admin/static/admin/img/arrow-down.gif diff --git a/django/contrib/admin/media/img/admin/arrow-up.gif b/django/contrib/admin/static/admin/img/arrow-up.gif Binary files differindex 3fe4851399..3fe4851399 100644 --- a/django/contrib/admin/media/img/admin/arrow-up.gif +++ b/django/contrib/admin/static/admin/img/arrow-up.gif diff --git a/django/contrib/admin/media/img/admin/changelist-bg.gif b/django/contrib/admin/static/admin/img/changelist-bg.gif Binary files differindex 7f4699470a..7f4699470a 100644 --- a/django/contrib/admin/media/img/admin/changelist-bg.gif +++ b/django/contrib/admin/static/admin/img/changelist-bg.gif diff --git a/django/contrib/admin/media/img/admin/changelist-bg_rtl.gif b/django/contrib/admin/static/admin/img/changelist-bg_rtl.gif Binary files differindex 237971257f..237971257f 100644 --- a/django/contrib/admin/media/img/admin/changelist-bg_rtl.gif +++ b/django/contrib/admin/static/admin/img/changelist-bg_rtl.gif diff --git a/django/contrib/admin/media/img/admin/chooser-bg.gif b/django/contrib/admin/static/admin/img/chooser-bg.gif Binary files differindex 30e83c2518..30e83c2518 100644 --- a/django/contrib/admin/media/img/admin/chooser-bg.gif +++ b/django/contrib/admin/static/admin/img/chooser-bg.gif diff --git a/django/contrib/admin/media/img/admin/chooser_stacked-bg.gif b/django/contrib/admin/static/admin/img/chooser_stacked-bg.gif Binary files differindex 5d104b6d98..5d104b6d98 100644 --- a/django/contrib/admin/media/img/admin/chooser_stacked-bg.gif +++ b/django/contrib/admin/static/admin/img/chooser_stacked-bg.gif diff --git a/django/contrib/admin/media/img/admin/default-bg-reverse.gif b/django/contrib/admin/static/admin/img/default-bg-reverse.gif Binary files differindex 0873281e51..0873281e51 100644 --- a/django/contrib/admin/media/img/admin/default-bg-reverse.gif +++ b/django/contrib/admin/static/admin/img/default-bg-reverse.gif diff --git a/django/contrib/admin/media/img/admin/default-bg.gif b/django/contrib/admin/static/admin/img/default-bg.gif Binary files differindex 003aeca59f..003aeca59f 100644 --- a/django/contrib/admin/media/img/admin/default-bg.gif +++ b/django/contrib/admin/static/admin/img/default-bg.gif diff --git a/django/contrib/admin/media/img/admin/deleted-overlay.gif b/django/contrib/admin/static/admin/img/deleted-overlay.gif Binary files differindex dc3828fe06..dc3828fe06 100644 --- a/django/contrib/admin/media/img/admin/deleted-overlay.gif +++ b/django/contrib/admin/static/admin/img/deleted-overlay.gif diff --git a/django/contrib/admin/media/img/gis/move_vertex_off.png b/django/contrib/admin/static/admin/img/gis/move_vertex_off.png Binary files differindex 296b2e29c9..296b2e29c9 100644 --- a/django/contrib/admin/media/img/gis/move_vertex_off.png +++ b/django/contrib/admin/static/admin/img/gis/move_vertex_off.png diff --git a/django/contrib/admin/media/img/gis/move_vertex_on.png b/django/contrib/admin/static/admin/img/gis/move_vertex_on.png Binary files differindex 21f4758d9c..21f4758d9c 100644 --- a/django/contrib/admin/media/img/gis/move_vertex_on.png +++ b/django/contrib/admin/static/admin/img/gis/move_vertex_on.png diff --git a/django/contrib/admin/media/img/admin/icon-no.gif b/django/contrib/admin/static/admin/img/icon-no.gif Binary files differindex 1b4ee58145..1b4ee58145 100644 --- a/django/contrib/admin/media/img/admin/icon-no.gif +++ b/django/contrib/admin/static/admin/img/icon-no.gif diff --git a/django/contrib/admin/media/img/admin/icon-unknown.gif b/django/contrib/admin/static/admin/img/icon-unknown.gif Binary files differindex cfd2b02ad9..cfd2b02ad9 100644 --- a/django/contrib/admin/media/img/admin/icon-unknown.gif +++ b/django/contrib/admin/static/admin/img/icon-unknown.gif diff --git a/django/contrib/admin/media/img/admin/icon-yes.gif b/django/contrib/admin/static/admin/img/icon-yes.gif Binary files differindex 7399282740..7399282740 100644 --- a/django/contrib/admin/media/img/admin/icon-yes.gif +++ b/django/contrib/admin/static/admin/img/icon-yes.gif diff --git a/django/contrib/admin/media/img/admin/icon_addlink.gif b/django/contrib/admin/static/admin/img/icon_addlink.gif Binary files differindex ee70e1adba..ee70e1adba 100644 --- a/django/contrib/admin/media/img/admin/icon_addlink.gif +++ b/django/contrib/admin/static/admin/img/icon_addlink.gif diff --git a/django/contrib/admin/media/img/admin/icon_alert.gif b/django/contrib/admin/static/admin/img/icon_alert.gif Binary files differindex a1dde26254..a1dde26254 100644 --- a/django/contrib/admin/media/img/admin/icon_alert.gif +++ b/django/contrib/admin/static/admin/img/icon_alert.gif diff --git a/django/contrib/admin/media/img/admin/icon_calendar.gif b/django/contrib/admin/static/admin/img/icon_calendar.gif Binary files differindex 7587b305a4..7587b305a4 100644 --- a/django/contrib/admin/media/img/admin/icon_calendar.gif +++ b/django/contrib/admin/static/admin/img/icon_calendar.gif diff --git a/django/contrib/admin/media/img/admin/icon_changelink.gif b/django/contrib/admin/static/admin/img/icon_changelink.gif Binary files differindex e1b9afde65..e1b9afde65 100644 --- a/django/contrib/admin/media/img/admin/icon_changelink.gif +++ b/django/contrib/admin/static/admin/img/icon_changelink.gif diff --git a/django/contrib/admin/media/img/admin/icon_clock.gif b/django/contrib/admin/static/admin/img/icon_clock.gif Binary files differindex ff2d57e0a3..ff2d57e0a3 100644 --- a/django/contrib/admin/media/img/admin/icon_clock.gif +++ b/django/contrib/admin/static/admin/img/icon_clock.gif diff --git a/django/contrib/admin/media/img/admin/icon_cog.gif b/django/contrib/admin/static/admin/img/icon_cog.gif Binary files differindex e390ef2ef5..e390ef2ef5 100644 --- a/django/contrib/admin/media/img/admin/icon_cog.gif +++ b/django/contrib/admin/static/admin/img/icon_cog.gif diff --git a/django/contrib/admin/media/img/admin/icon_deletelink.gif b/django/contrib/admin/static/admin/img/icon_deletelink.gif Binary files differindex 72523e3a3b..72523e3a3b 100644 --- a/django/contrib/admin/media/img/admin/icon_deletelink.gif +++ b/django/contrib/admin/static/admin/img/icon_deletelink.gif diff --git a/django/contrib/admin/media/img/admin/icon_error.gif b/django/contrib/admin/static/admin/img/icon_error.gif Binary files differindex 3730a00b26..3730a00b26 100644 --- a/django/contrib/admin/media/img/admin/icon_error.gif +++ b/django/contrib/admin/static/admin/img/icon_error.gif diff --git a/django/contrib/admin/media/img/admin/icon_searchbox.png b/django/contrib/admin/static/admin/img/icon_searchbox.png Binary files differindex 8ab579e526..8ab579e526 100644 --- a/django/contrib/admin/media/img/admin/icon_searchbox.png +++ b/django/contrib/admin/static/admin/img/icon_searchbox.png diff --git a/django/contrib/admin/media/img/admin/icon_success.gif b/django/contrib/admin/static/admin/img/icon_success.gif Binary files differindex 5cf90a15aa..5cf90a15aa 100644 --- a/django/contrib/admin/media/img/admin/icon_success.gif +++ b/django/contrib/admin/static/admin/img/icon_success.gif diff --git a/django/contrib/admin/media/img/admin/inline-delete-8bit.png b/django/contrib/admin/static/admin/img/inline-delete-8bit.png Binary files differindex 95caf59a8d..95caf59a8d 100644 --- a/django/contrib/admin/media/img/admin/inline-delete-8bit.png +++ b/django/contrib/admin/static/admin/img/inline-delete-8bit.png diff --git a/django/contrib/admin/media/img/admin/inline-delete.png b/django/contrib/admin/static/admin/img/inline-delete.png Binary files differindex d59bcd2444..d59bcd2444 100644 --- a/django/contrib/admin/media/img/admin/inline-delete.png +++ b/django/contrib/admin/static/admin/img/inline-delete.png diff --git a/django/contrib/admin/media/img/admin/inline-restore-8bit.png b/django/contrib/admin/static/admin/img/inline-restore-8bit.png Binary files differindex e087c8ead3..e087c8ead3 100644 --- a/django/contrib/admin/media/img/admin/inline-restore-8bit.png +++ b/django/contrib/admin/static/admin/img/inline-restore-8bit.png diff --git a/django/contrib/admin/media/img/admin/inline-restore.png b/django/contrib/admin/static/admin/img/inline-restore.png Binary files differindex efdd92ac39..efdd92ac39 100644 --- a/django/contrib/admin/media/img/admin/inline-restore.png +++ b/django/contrib/admin/static/admin/img/inline-restore.png diff --git a/django/contrib/admin/media/img/admin/inline-splitter-bg.gif b/django/contrib/admin/static/admin/img/inline-splitter-bg.gif Binary files differindex 32ac5b3498..32ac5b3498 100644 --- a/django/contrib/admin/media/img/admin/inline-splitter-bg.gif +++ b/django/contrib/admin/static/admin/img/inline-splitter-bg.gif diff --git a/django/contrib/admin/media/img/admin/nav-bg-grabber.gif b/django/contrib/admin/static/admin/img/nav-bg-grabber.gif Binary files differindex 0a784fa769..0a784fa769 100644 --- a/django/contrib/admin/media/img/admin/nav-bg-grabber.gif +++ b/django/contrib/admin/static/admin/img/nav-bg-grabber.gif diff --git a/django/contrib/admin/media/img/admin/nav-bg-reverse.gif b/django/contrib/admin/static/admin/img/nav-bg-reverse.gif Binary files differindex f11029f90f..f11029f90f 100644 --- a/django/contrib/admin/media/img/admin/nav-bg-reverse.gif +++ b/django/contrib/admin/static/admin/img/nav-bg-reverse.gif diff --git a/django/contrib/admin/media/img/admin/nav-bg-selected.gif b/django/contrib/admin/static/admin/img/nav-bg-selected.gif Binary files differindex 98c5672ab3..98c5672ab3 100644 --- a/django/contrib/admin/media/img/admin/nav-bg-selected.gif +++ b/django/contrib/admin/static/admin/img/nav-bg-selected.gif diff --git a/django/contrib/admin/media/img/admin/nav-bg.gif b/django/contrib/admin/static/admin/img/nav-bg.gif Binary files differindex f8402b809d..f8402b809d 100644 --- a/django/contrib/admin/media/img/admin/nav-bg.gif +++ b/django/contrib/admin/static/admin/img/nav-bg.gif diff --git a/django/contrib/admin/media/img/admin/selector-add.gif b/django/contrib/admin/static/admin/img/selector-add.gif Binary files differindex 50132d1c43..50132d1c43 100644 --- a/django/contrib/admin/media/img/admin/selector-add.gif +++ b/django/contrib/admin/static/admin/img/selector-add.gif diff --git a/django/contrib/admin/media/img/admin/selector-addall.gif b/django/contrib/admin/static/admin/img/selector-addall.gif Binary files differindex d6e7c639bb..d6e7c639bb 100644 --- a/django/contrib/admin/media/img/admin/selector-addall.gif +++ b/django/contrib/admin/static/admin/img/selector-addall.gif diff --git a/django/contrib/admin/media/img/admin/selector-remove.gif b/django/contrib/admin/static/admin/img/selector-remove.gif Binary files differindex 2b9b0a2ac3..2b9b0a2ac3 100644 --- a/django/contrib/admin/media/img/admin/selector-remove.gif +++ b/django/contrib/admin/static/admin/img/selector-remove.gif diff --git a/django/contrib/admin/media/img/admin/selector-removeall.gif b/django/contrib/admin/static/admin/img/selector-removeall.gif Binary files differindex 5a4421926d..5a4421926d 100644 --- a/django/contrib/admin/media/img/admin/selector-removeall.gif +++ b/django/contrib/admin/static/admin/img/selector-removeall.gif diff --git a/django/contrib/admin/media/img/admin/selector-search.gif b/django/contrib/admin/static/admin/img/selector-search.gif Binary files differindex 6d5f4c7492..6d5f4c7492 100644 --- a/django/contrib/admin/media/img/admin/selector-search.gif +++ b/django/contrib/admin/static/admin/img/selector-search.gif diff --git a/django/contrib/admin/media/img/admin/selector_stacked-add.gif b/django/contrib/admin/static/admin/img/selector_stacked-add.gif Binary files differindex 7426169652..7426169652 100644 --- a/django/contrib/admin/media/img/admin/selector_stacked-add.gif +++ b/django/contrib/admin/static/admin/img/selector_stacked-add.gif diff --git a/django/contrib/admin/media/img/admin/selector_stacked-remove.gif b/django/contrib/admin/static/admin/img/selector_stacked-remove.gif Binary files differindex 60412cee19..60412cee19 100644 --- a/django/contrib/admin/media/img/admin/selector_stacked-remove.gif +++ b/django/contrib/admin/static/admin/img/selector_stacked-remove.gif diff --git a/django/contrib/admin/media/img/admin/tool-left.gif b/django/contrib/admin/static/admin/img/tool-left.gif Binary files differindex 011490ff3a..011490ff3a 100644 --- a/django/contrib/admin/media/img/admin/tool-left.gif +++ b/django/contrib/admin/static/admin/img/tool-left.gif diff --git a/django/contrib/admin/media/img/admin/tool-left_over.gif b/django/contrib/admin/static/admin/img/tool-left_over.gif Binary files differindex 937e07bb1a..937e07bb1a 100644 --- a/django/contrib/admin/media/img/admin/tool-left_over.gif +++ b/django/contrib/admin/static/admin/img/tool-left_over.gif diff --git a/django/contrib/admin/media/img/admin/tool-right.gif b/django/contrib/admin/static/admin/img/tool-right.gif Binary files differindex cdc140cc59..cdc140cc59 100644 --- a/django/contrib/admin/media/img/admin/tool-right.gif +++ b/django/contrib/admin/static/admin/img/tool-right.gif diff --git a/django/contrib/admin/media/img/admin/tool-right_over.gif b/django/contrib/admin/static/admin/img/tool-right_over.gif Binary files differindex 4db977e838..4db977e838 100644 --- a/django/contrib/admin/media/img/admin/tool-right_over.gif +++ b/django/contrib/admin/static/admin/img/tool-right_over.gif diff --git a/django/contrib/admin/media/img/admin/tooltag-add.gif b/django/contrib/admin/static/admin/img/tooltag-add.gif Binary files differindex 8b53d49ae5..8b53d49ae5 100644 --- a/django/contrib/admin/media/img/admin/tooltag-add.gif +++ b/django/contrib/admin/static/admin/img/tooltag-add.gif diff --git a/django/contrib/admin/media/img/admin/tooltag-add_over.gif b/django/contrib/admin/static/admin/img/tooltag-add_over.gif Binary files differindex bfc52f10de..bfc52f10de 100644 --- a/django/contrib/admin/media/img/admin/tooltag-add_over.gif +++ b/django/contrib/admin/static/admin/img/tooltag-add_over.gif diff --git a/django/contrib/admin/media/img/admin/tooltag-arrowright.gif b/django/contrib/admin/static/admin/img/tooltag-arrowright.gif Binary files differindex cdaaae77ed..cdaaae77ed 100644 --- a/django/contrib/admin/media/img/admin/tooltag-arrowright.gif +++ b/django/contrib/admin/static/admin/img/tooltag-arrowright.gif diff --git a/django/contrib/admin/media/img/admin/tooltag-arrowright_over.gif b/django/contrib/admin/static/admin/img/tooltag-arrowright_over.gif Binary files differindex 7163189604..7163189604 100644 --- a/django/contrib/admin/media/img/admin/tooltag-arrowright_over.gif +++ b/django/contrib/admin/static/admin/img/tooltag-arrowright_over.gif diff --git a/django/contrib/admin/media/js/LICENSE-JQUERY.txt b/django/contrib/admin/static/admin/js/LICENSE-JQUERY.txt index a4c5bd76ac..a4c5bd76ac 100644 --- a/django/contrib/admin/media/js/LICENSE-JQUERY.txt +++ b/django/contrib/admin/static/admin/js/LICENSE-JQUERY.txt diff --git a/django/contrib/admin/media/js/SelectBox.js b/django/contrib/admin/static/admin/js/SelectBox.js index f28c861513..f28c861513 100644 --- a/django/contrib/admin/media/js/SelectBox.js +++ b/django/contrib/admin/static/admin/js/SelectBox.js diff --git a/django/contrib/admin/media/js/SelectFilter2.js b/django/contrib/admin/static/admin/js/SelectFilter2.js index 92eff2ecfa..b7bc9d5f8f 100644 --- a/django/contrib/admin/media/js/SelectFilter2.js +++ b/django/contrib/admin/static/admin/js/SelectFilter2.js @@ -50,7 +50,7 @@ var SelectFilter = { var search_filter_label = quickElement('label', filter_p, '', 'for', field_id + "_input", 'style', 'width:16px;padding:2px'); - var search_selector_img = quickElement('img', search_filter_label, '', 'src', admin_media_prefix + 'img/admin/selector-search.gif'); + var search_selector_img = quickElement('img', search_filter_label, '', 'src', admin_media_prefix + 'img/selector-search.gif'); search_selector_img.alt = gettext("Filter"); filter_p.appendChild(document.createTextNode(' ')); @@ -75,7 +75,7 @@ var SelectFilter = { quickElement('h2', selector_chosen, interpolate(gettext('Chosen %s'), [field_name])); var selector_filter = quickElement('p', selector_chosen, gettext('Select your choice(s) and click ')); selector_filter.className = 'selector-filter'; - quickElement('img', selector_filter, '', 'src', admin_media_prefix + (is_stacked ? 'img/admin/selector_stacked-add.gif':'img/admin/selector-add.gif'), 'alt', 'Add'); + quickElement('img', selector_filter, '', 'src', admin_media_prefix + (is_stacked ? 'img/selector_stacked-add.gif':'img/selector-add.gif'), 'alt', 'Add'); var to_box = quickElement('select', selector_chosen, '', 'id', field_id + '_to', 'multiple', 'multiple', 'size', from_box.size, 'name', from_box.getAttribute('name')); to_box.className = 'filtered'; var clear_all = quickElement('a', selector_chosen, gettext('Clear all'), 'href', 'javascript: (function() { SelectBox.move_all("' + field_id + '_to", "' + field_id + '_from");})()'); diff --git a/django/contrib/admin/media/js/actions.js b/django/contrib/admin/static/admin/js/actions.js index 94aa6db934..94aa6db934 100644 --- a/django/contrib/admin/media/js/actions.js +++ b/django/contrib/admin/static/admin/js/actions.js diff --git a/django/contrib/admin/media/js/actions.min.js b/django/contrib/admin/static/admin/js/actions.min.js index 21f00cdab9..21f00cdab9 100644 --- a/django/contrib/admin/media/js/actions.min.js +++ b/django/contrib/admin/static/admin/js/actions.min.js diff --git a/django/contrib/admin/media/js/admin/DateTimeShortcuts.js b/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js index a4293b305b..f22cc7a8ed 100644 --- a/django/contrib/admin/media/js/admin/DateTimeShortcuts.js +++ b/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js @@ -50,7 +50,7 @@ var DateTimeShortcuts = { var clock_link = document.createElement('a'); clock_link.setAttribute('href', 'javascript:DateTimeShortcuts.openClock(' + num + ');'); clock_link.id = DateTimeShortcuts.clockLinkName + num; - quickElement('img', clock_link, '', 'src', DateTimeShortcuts.admin_media_prefix + 'img/admin/icon_clock.gif', 'alt', gettext('Clock')); + quickElement('img', clock_link, '', 'src', DateTimeShortcuts.admin_media_prefix + 'img/icon_clock.gif', 'alt', gettext('Clock')); shortcuts_span.appendChild(document.createTextNode('\240')); shortcuts_span.appendChild(now_link); shortcuts_span.appendChild(document.createTextNode('\240|\240')); @@ -138,7 +138,7 @@ var DateTimeShortcuts = { var cal_link = document.createElement('a'); cal_link.setAttribute('href', 'javascript:DateTimeShortcuts.openCalendar(' + num + ');'); cal_link.id = DateTimeShortcuts.calendarLinkName + num; - quickElement('img', cal_link, '', 'src', DateTimeShortcuts.admin_media_prefix + 'img/admin/icon_calendar.gif', 'alt', gettext('Calendar')); + quickElement('img', cal_link, '', 'src', DateTimeShortcuts.admin_media_prefix + 'img/icon_calendar.gif', 'alt', gettext('Calendar')); shortcuts_span.appendChild(document.createTextNode('\240')); shortcuts_span.appendChild(today_link); shortcuts_span.appendChild(document.createTextNode('\240|\240')); diff --git a/django/contrib/admin/media/js/admin/RelatedObjectLookups.js b/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js index 1bc78f89b1..1bc78f89b1 100644 --- a/django/contrib/admin/media/js/admin/RelatedObjectLookups.js +++ b/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js diff --git a/django/contrib/admin/media/js/admin/ordering.js b/django/contrib/admin/static/admin/js/admin/ordering.js index 53c42f3609..53c42f3609 100644 --- a/django/contrib/admin/media/js/admin/ordering.js +++ b/django/contrib/admin/static/admin/js/admin/ordering.js diff --git a/django/contrib/admin/media/js/calendar.js b/django/contrib/admin/static/admin/js/calendar.js index c95a95db1b..c95a95db1b 100644 --- a/django/contrib/admin/media/js/calendar.js +++ b/django/contrib/admin/static/admin/js/calendar.js diff --git a/django/contrib/admin/media/js/collapse.js b/django/contrib/admin/static/admin/js/collapse.js index 0a1e2d8893..0a1e2d8893 100644 --- a/django/contrib/admin/media/js/collapse.js +++ b/django/contrib/admin/static/admin/js/collapse.js diff --git a/django/contrib/admin/media/js/collapse.min.js b/django/contrib/admin/static/admin/js/collapse.min.js index 428984ee01..428984ee01 100644 --- a/django/contrib/admin/media/js/collapse.min.js +++ b/django/contrib/admin/static/admin/js/collapse.min.js diff --git a/django/contrib/admin/media/js/compress.py b/django/contrib/admin/static/admin/js/compress.py index 8d2caa28ea..8d2caa28ea 100644 --- a/django/contrib/admin/media/js/compress.py +++ b/django/contrib/admin/static/admin/js/compress.py diff --git a/django/contrib/admin/media/js/core.js b/django/contrib/admin/static/admin/js/core.js index 3ca8ad0f9a..3ca8ad0f9a 100644 --- a/django/contrib/admin/media/js/core.js +++ b/django/contrib/admin/static/admin/js/core.js diff --git a/django/contrib/admin/media/js/getElementsBySelector.js b/django/contrib/admin/static/admin/js/getElementsBySelector.js index 15b57a1908..15b57a1908 100644 --- a/django/contrib/admin/media/js/getElementsBySelector.js +++ b/django/contrib/admin/static/admin/js/getElementsBySelector.js diff --git a/django/contrib/admin/media/js/inlines.js b/django/contrib/admin/static/admin/js/inlines.js index bddd6f75ba..bddd6f75ba 100644 --- a/django/contrib/admin/media/js/inlines.js +++ b/django/contrib/admin/static/admin/js/inlines.js diff --git a/django/contrib/admin/media/js/inlines.min.js b/django/contrib/admin/static/admin/js/inlines.min.js index e8152ea357..e8152ea357 100644 --- a/django/contrib/admin/media/js/inlines.min.js +++ b/django/contrib/admin/static/admin/js/inlines.min.js diff --git a/django/contrib/admin/media/js/jquery.init.js b/django/contrib/admin/static/admin/js/jquery.init.js index 41b1051769..41b1051769 100644 --- a/django/contrib/admin/media/js/jquery.init.js +++ b/django/contrib/admin/static/admin/js/jquery.init.js diff --git a/django/contrib/admin/media/js/jquery.js b/django/contrib/admin/static/admin/js/jquery.js index fff6776433..fff6776433 100644 --- a/django/contrib/admin/media/js/jquery.js +++ b/django/contrib/admin/static/admin/js/jquery.js diff --git a/django/contrib/admin/media/js/jquery.min.js b/django/contrib/admin/static/admin/js/jquery.min.js index 7c24308023..7c24308023 100644 --- a/django/contrib/admin/media/js/jquery.min.js +++ b/django/contrib/admin/static/admin/js/jquery.min.js diff --git a/django/contrib/admin/media/js/prepopulate.js b/django/contrib/admin/static/admin/js/prepopulate.js index 24f24f95a8..24f24f95a8 100644 --- a/django/contrib/admin/media/js/prepopulate.js +++ b/django/contrib/admin/static/admin/js/prepopulate.js diff --git a/django/contrib/admin/media/js/prepopulate.min.js b/django/contrib/admin/static/admin/js/prepopulate.min.js index aa94937963..aa94937963 100644 --- a/django/contrib/admin/media/js/prepopulate.min.js +++ b/django/contrib/admin/static/admin/js/prepopulate.min.js diff --git a/django/contrib/admin/media/js/timeparse.js b/django/contrib/admin/static/admin/js/timeparse.js index 882f41d56e..882f41d56e 100644 --- a/django/contrib/admin/media/js/timeparse.js +++ b/django/contrib/admin/static/admin/js/timeparse.js diff --git a/django/contrib/admin/media/js/urlify.js b/django/contrib/admin/static/admin/js/urlify.js index d8f2549e27..d8f2549e27 100644 --- a/django/contrib/admin/media/js/urlify.js +++ b/django/contrib/admin/static/admin/js/urlify.js diff --git a/django/contrib/admin/templates/admin/auth/user/change_password.html b/django/contrib/admin/templates/admin/auth/user/change_password.html index 5a2036d1dc..c280f50d60 100644 --- a/django/contrib/admin/templates/admin/auth/user/change_password.html +++ b/django/contrib/admin/templates/admin/auth/user/change_password.html @@ -1,11 +1,11 @@ {% extends "admin/base_site.html" %} -{% load i18n admin_modify adminmedia %} +{% load i18n static admin_modify %} {% load url from future %} {% block extrahead %}{{ block.super }} {% url 'admin:jsi18n' as jsi18nurl %} <script type="text/javascript" src="{{ jsi18nurl|default:"../../../../jsi18n/" }}"></script> {% endblock %} -{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% admin_media_prefix %}css/forms.css" />{% endblock %} +{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}" />{% endblock %} {% block bodyclass %}{{ opts.app_label }}-{{ opts.object_name.lower }} change-form{% endblock %} {% block breadcrumbs %}{% if not is_popup %} <div class="breadcrumbs"> diff --git a/django/contrib/admin/templates/admin/base.html b/django/contrib/admin/templates/admin/base.html index d0f8e52753..9034ae8522 100644 --- a/django/contrib/admin/templates/admin/base.html +++ b/django/contrib/admin/templates/admin/base.html @@ -1,12 +1,12 @@ -{% load url from future %}<!DOCTYPE html> +{% load static %}{% load url from future %}<!DOCTYPE html> <html lang="{{ LANGUAGE_CODE|default:"en-us" }}" {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}> <head> <title>{% block title %}{% endblock %}</title> -<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% load adminmedia %}{% admin_media_prefix %}css/base.css{% endblock %}" /> +<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% static "admin/css/base.css" %}{% endblock %}" /> {% block extrastyle %}{% endblock %} -<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="{% block stylesheet_ie %}{% load adminmedia %}{% admin_media_prefix %}css/ie.css{% endblock %}" /><![endif]--> -{% if LANGUAGE_BIDI %}<link rel="stylesheet" type="text/css" href="{% block stylesheet_rtl %}{% admin_media_prefix %}css/rtl.css{% endblock %}" />{% endif %} -<script type="text/javascript">window.__admin_media_prefix__ = "{% filter escapejs %}{% admin_media_prefix %}{% endfilter %}";</script> +<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="{% block stylesheet_ie %}{% static "admin/css/ie.css" %}{% endblock %}" /><![endif]--> +{% if LANGUAGE_BIDI %}<link rel="stylesheet" type="text/css" href="{% block stylesheet_rtl %}{% static "admin/css/rtl.css" %}{% endblock %}" />{% endif %} +<script type="text/javascript">window.__admin_media_prefix__ = "{% filter escapejs %}{% static "admin/" %}{% endfilter %}";</script> {% block extrahead %}{% endblock %} {% block blockbots %}<meta name="robots" content="NONE,NOARCHIVE" />{% endblock %} </head> diff --git a/django/contrib/admin/templates/admin/change_form.html b/django/contrib/admin/templates/admin/change_form.html index b32f76d2c2..c5e428d174 100644 --- a/django/contrib/admin/templates/admin/change_form.html +++ b/django/contrib/admin/templates/admin/change_form.html @@ -1,5 +1,5 @@ {% extends "admin/base_site.html" %} -{% load i18n admin_modify adminmedia %} +{% load i18n static admin_modify %} {% load url from future %} {% block extrahead %}{{ block.super }} @@ -8,7 +8,7 @@ {{ media }} {% endblock %} -{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% admin_media_prefix %}css/forms.css" />{% endblock %} +{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}" />{% endblock %} {% block coltype %}{% if ordered_objects %}colMS{% else %}colM{% endif %}{% endblock %} diff --git a/django/contrib/admin/templates/admin/change_list.html b/django/contrib/admin/templates/admin/change_list.html index 33b5201665..29af47ff79 100644 --- a/django/contrib/admin/templates/admin/change_list.html +++ b/django/contrib/admin/templates/admin/change_list.html @@ -1,11 +1,11 @@ {% extends "admin/base_site.html" %} -{% load adminmedia admin_list i18n %} +{% load i18n static admin_list %} {% load url from future %} {% block extrastyle %} {{ block.super }} - <link rel="stylesheet" type="text/css" href="{% admin_media_prefix %}css/changelists.css" /> + <link rel="stylesheet" type="text/css" href="{% static "admin/css/changelists.css" %}" /> {% if cl.formset %} - <link rel="stylesheet" type="text/css" href="{% admin_media_prefix %}css/forms.css" /> + <link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}" /> {% endif %} {% if cl.formset or action_form %} {% url 'admin:jsi18n' as jsi18nurl %} diff --git a/django/contrib/admin/templates/admin/change_list_results.html b/django/contrib/admin/templates/admin/change_list_results.html index 738ff28190..233d4e12d0 100644 --- a/django/contrib/admin/templates/admin/change_list_results.html +++ b/django/contrib/admin/templates/admin/change_list_results.html @@ -1,5 +1,4 @@ -{% load adminmedia %} -{% load i18n %} +{% load i18n static %} {% if result_hidden_fields %} <div class="hiddenfields">{# DIV for HTML validation #} {% for item in result_hidden_fields %}{{ item }}{% endfor %} @@ -16,7 +15,7 @@ <span class="text">{{ header.text|capfirst }}</span> {% if header.sortable %} {% if header.sort_pos > 0 %}<span class="sortpos"> - {% if header.sort_pos == 1 %}<img id="primary-sort-icon" src="{% admin_media_prefix %}img/admin/icon_cog.gif" alt="" /> {% endif %} + {% if header.sort_pos == 1 %}<img id="primary-sort-icon" src="{% static "admin/img/icon_cog.gif" %}" alt="" /> {% endif %} {{ header.sort_pos }}</span> {% endif %} <span class="clear"></span></a> diff --git a/django/contrib/admin/templates/admin/edit_inline/stacked.html b/django/contrib/admin/templates/admin/edit_inline/stacked.html index ff628c0bbf..7e69450866 100644 --- a/django/contrib/admin/templates/admin/edit_inline/stacked.html +++ b/django/contrib/admin/templates/admin/edit_inline/stacked.html @@ -1,4 +1,4 @@ -{% load i18n adminmedia %} +{% load i18n static %} <div class="inline-group" id="{{ inline_admin_formset.formset.prefix }}-group"> <h2>{{ inline_admin_formset.opts.verbose_name_plural|title }}</h2> {{ inline_admin_formset.formset.management_form }} @@ -40,11 +40,11 @@ if (typeof SelectFilter != "undefined"){ $(".selectfilter").each(function(index, value){ var namearr = value.name.split('-'); - SelectFilter.init(value.id, namearr[namearr.length-1], false, "{% admin_media_prefix %}"); + SelectFilter.init(value.id, namearr[namearr.length-1], false, "{% static "admin/" %}"); }); $(".selectfilterstacked").each(function(index, value){ var namearr = value.name.split('-'); - SelectFilter.init(value.id, namearr[namearr.length-1], true, "{% admin_media_prefix %}"); + SelectFilter.init(value.id, namearr[namearr.length-1], true, "{% static "admin/" %}"); }); } } diff --git a/django/contrib/admin/templates/admin/edit_inline/tabular.html b/django/contrib/admin/templates/admin/edit_inline/tabular.html index 5b9d2dca12..829422711d 100644 --- a/django/contrib/admin/templates/admin/edit_inline/tabular.html +++ b/django/contrib/admin/templates/admin/edit_inline/tabular.html @@ -1,4 +1,4 @@ -{% load i18n adminmedia admin_modify %} +{% load i18n static admin_modify %} <div class="inline-group" id="{{ inline_admin_formset.formset.prefix }}-group"> <div class="tabular inline-related {% if forloop.last %}last-related{% endif %}"> {{ inline_admin_formset.formset.management_form }} @@ -86,11 +86,11 @@ if (typeof SelectFilter != "undefined"){ $(".selectfilter").each(function(index, value){ var namearr = value.name.split('-'); - SelectFilter.init(value.id, namearr[namearr.length-1], false, "{% admin_media_prefix %}"); + SelectFilter.init(value.id, namearr[namearr.length-1], false, "{% static "admin/" %}"); }); $(".selectfilterstacked").each(function(index, value){ var namearr = value.name.split('-'); - SelectFilter.init(value.id, namearr[namearr.length-1], true, "{% admin_media_prefix %}"); + SelectFilter.init(value.id, namearr[namearr.length-1], true, "{% static "admin/" %}"); }); } } diff --git a/django/contrib/admin/templates/admin/index.html b/django/contrib/admin/templates/admin/index.html index d392f075ad..0f81a1a4fe 100644 --- a/django/contrib/admin/templates/admin/index.html +++ b/django/contrib/admin/templates/admin/index.html @@ -1,7 +1,7 @@ {% extends "admin/base_site.html" %} -{% load i18n %} +{% load i18n static %} -{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% load adminmedia %}{% admin_media_prefix %}css/dashboard.css" />{% endblock %} +{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/dashboard.css" %}" />{% endblock %} {% block coltype %}colMS{% endblock %} diff --git a/django/contrib/admin/templates/admin/login.html b/django/contrib/admin/templates/admin/login.html index ad7b14e965..a95cfd8e6b 100644 --- a/django/contrib/admin/templates/admin/login.html +++ b/django/contrib/admin/templates/admin/login.html @@ -1,7 +1,7 @@ {% extends "admin/base_site.html" %} -{% load i18n %} +{% load i18n static %} -{% block extrastyle %}{% load adminmedia %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% admin_media_prefix %}css/login.css" />{% endblock %} +{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/login.css" %}" />{% endblock %} {% block bodyclass %}login{% endblock %} diff --git a/django/contrib/admin/templates/admin/search_form.html b/django/contrib/admin/templates/admin/search_form.html index 3e14a110eb..2b23a215fb 100644 --- a/django/contrib/admin/templates/admin/search_form.html +++ b/django/contrib/admin/templates/admin/search_form.html @@ -1,9 +1,8 @@ -{% load adminmedia %} -{% load i18n %} +{% load i18n static %} {% if cl.search_fields %} <div id="toolbar"><form id="changelist-search" action="" method="get"> <div><!-- DIV needed for valid HTML --> -<label for="searchbar"><img src="{% admin_media_prefix %}img/admin/icon_searchbox.png" alt="Search" /></label> +<label for="searchbar"><img src="{% static "admin/img/icon_searchbox.png" %}" alt="Search" /></label> <input type="text" size="40" name="{{ search_var }}" value="{{ cl.query }}" id="searchbar" /> <input type="submit" value="{% trans 'Search' %}" /> {% if show_result_count %} diff --git a/django/contrib/admin/templates/registration/password_change_form.html b/django/contrib/admin/templates/registration/password_change_form.html index 23d6c1d8af..f76692d185 100644 --- a/django/contrib/admin/templates/registration/password_change_form.html +++ b/django/contrib/admin/templates/registration/password_change_form.html @@ -1,7 +1,7 @@ {% extends "admin/base_site.html" %} -{% load i18n adminmedia %} +{% load i18n static %} {% load url from future %} -{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% admin_media_prefix %}css/forms.css" />{% endblock %} +{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}" />{% endblock %} {% block userlinks %}{% url 'django-admindocs-docroot' as docsroot %}{% if docsroot %}<a href="{{ docsroot }}">{% trans 'Documentation' %}</a> / {% endif %} {% trans 'Change password' %} / <a href="../logout/">{% trans 'Log out' %}</a>{% endblock %} {% block breadcrumbs %}<div class="breadcrumbs"><a href="../">{% trans 'Home' %}</a> › {% trans 'Password change' %}</div>{% endblock %} diff --git a/django/contrib/admin/templatetags/admin_list.py b/django/contrib/admin/templatetags/admin_list.py index c74657a13a..8efd06d497 100644 --- a/django/contrib/admin/templatetags/admin_list.py +++ b/django/contrib/admin/templatetags/admin_list.py @@ -6,6 +6,7 @@ from django.contrib.admin.views.main import (ALL_VAR, EMPTY_CHANGELIST_VALUE, ORDER_VAR, ORDER_TYPE_VAR, PAGE_VAR, SEARCH_VAR) from django.core.exceptions import ObjectDoesNotExist from django.db import models +from django.templatetags.static import static from django.utils import formats from django.utils.datastructures import SortedDict from django.utils.html import escape, conditional_escape @@ -154,9 +155,9 @@ def result_headers(cl): } def _boolean_icon(field_val): - BOOLEAN_MAPPING = {True: 'yes', False: 'no', None: 'unknown'} - return mark_safe(u'<img src="%simg/admin/icon-%s.gif" alt="%s" />' % - (settings.ADMIN_MEDIA_PREFIX, BOOLEAN_MAPPING[field_val], field_val)) + icon_url = static('admin/img/icon-%s.gif' % + {True: 'yes', False: 'no', None: 'unknown'}[field_val]) + return mark_safe(u'<img src="%s" alt="%s" />' % (icon_url, field_val)) def items_for_result(cl, result, form): """ diff --git a/django/contrib/admin/templatetags/adminmedia.py b/django/contrib/admin/templatetags/adminmedia.py index 3b1c39b3a7..753c180b02 100644 --- a/django/contrib/admin/templatetags/adminmedia.py +++ b/django/contrib/admin/templatetags/adminmedia.py @@ -1,3 +1,4 @@ +import warnings from django.template import Library from django.templatetags.static import PrefixNode @@ -8,4 +9,7 @@ def admin_media_prefix(): """ Returns the string contained in the setting ADMIN_MEDIA_PREFIX. """ + warnings.warn( + "The admin_media_prefix template tag is deprecated. " + "Use the static template tag instead.", PendingDeprecationWarning) return PrefixNode.handle_simple("ADMIN_MEDIA_PREFIX") diff --git a/django/contrib/admin/widgets.py b/django/contrib/admin/widgets.py index 957f94fd00..bf48f16e20 100644 --- a/django/contrib/admin/widgets.py +++ b/django/contrib/admin/widgets.py @@ -4,15 +4,16 @@ Form Widget classes specific to the Django admin site. import copy from django import forms +from django.conf import settings +from django.core.urlresolvers import reverse, NoReverseMatch from django.forms.widgets import RadioFieldRenderer from django.forms.util import flatatt +from django.templatetags.static import static from django.utils.html import escape from django.utils.text import truncate_words from django.utils.translation import ugettext as _ from django.utils.safestring import mark_safe from django.utils.encoding import force_unicode -from django.conf import settings -from django.core.urlresolvers import reverse, NoReverseMatch class FilteredSelectMultiple(forms.SelectMultiple): """ @@ -22,9 +23,8 @@ class FilteredSelectMultiple(forms.SelectMultiple): catalog has been loaded in the page """ class Media: - js = (settings.ADMIN_MEDIA_PREFIX + "js/core.js", - settings.ADMIN_MEDIA_PREFIX + "js/SelectBox.js", - settings.ADMIN_MEDIA_PREFIX + "js/SelectFilter2.js") + js = ["admin/js/%s" % path + for path in ["core.js", "SelectBox.js", "SelectFilter2.js"]] def __init__(self, verbose_name, is_stacked, attrs=None, choices=()): self.verbose_name = verbose_name @@ -39,22 +39,20 @@ class FilteredSelectMultiple(forms.SelectMultiple): output.append(u'<script type="text/javascript">addEvent(window, "load", function(e) {') # TODO: "id_" is hard-coded here. This should instead use the correct # API to determine the ID dynamically. - output.append(u'SelectFilter.init("id_%s", "%s", %s, "%s"); });</script>\n' % \ - (name, self.verbose_name.replace('"', '\\"'), int(self.is_stacked), settings.ADMIN_MEDIA_PREFIX)) + output.append(u'SelectFilter.init("id_%s", "%s", %s, "%s"); });</script>\n' + % (name, self.verbose_name.replace('"', '\\"'), int(self.is_stacked), static('admin/'))) return mark_safe(u''.join(output)) class AdminDateWidget(forms.DateInput): class Media: - js = (settings.ADMIN_MEDIA_PREFIX + "js/calendar.js", - settings.ADMIN_MEDIA_PREFIX + "js/admin/DateTimeShortcuts.js") + js = ["admin/js/calendar.js", "admin/js/admin/DateTimeShortcuts.js"] def __init__(self, attrs={}, format=None): super(AdminDateWidget, self).__init__(attrs={'class': 'vDateField', 'size': '10'}, format=format) class AdminTimeWidget(forms.TimeInput): class Media: - js = (settings.ADMIN_MEDIA_PREFIX + "js/calendar.js", - settings.ADMIN_MEDIA_PREFIX + "js/admin/DateTimeShortcuts.js") + js = ["admin/js/calendar.js", "admin/js/admin/DateTimeShortcuts.js"] def __init__(self, attrs={}, format=None): super(AdminTimeWidget, self).__init__(attrs={'class': 'vTimeField', 'size': '8'}, format=format) @@ -134,9 +132,10 @@ class ForeignKeyRawIdWidget(forms.TextInput): output = [super(ForeignKeyRawIdWidget, self).render(name, value, attrs)] # TODO: "id_" is hard-coded here. This should instead use the correct # API to determine the ID dynamically. - output.append(u'<a href="%s%s" class="related-lookup" id="lookup_id_%s" onclick="return showRelatedObjectLookupPopup(this);"> ' % \ - (related_url, url, name)) - output.append(u'<img src="%simg/admin/selector-search.gif" width="16" height="16" alt="%s" /></a>' % (settings.ADMIN_MEDIA_PREFIX, _('Lookup'))) + output.append(u'<a href="%s%s" class="related-lookup" id="lookup_id_%s" onclick="return showRelatedObjectLookupPopup(this);"> ' + % (related_url, url, name)) + output.append(u'<img src="%s" width="16" height="16" alt="%s" /></a>' + % (static('admin/img/selector-search.gif'), _('Lookup'))) if value: output.append(self.label_for_value(value)) return mark_safe(u''.join(output)) @@ -240,9 +239,10 @@ class RelatedFieldWidgetWrapper(forms.Widget): if self.can_add_related: # TODO: "id_" is hard-coded here. This should instead use the correct # API to determine the ID dynamically. - output.append(u'<a href="%s" class="add-another" id="add_id_%s" onclick="return showAddAnotherPopup(this);"> ' % \ - (related_url, name)) - output.append(u'<img src="%simg/admin/icon_addlink.gif" width="10" height="10" alt="%s"/></a>' % (settings.ADMIN_MEDIA_PREFIX, _('Add Another'))) + output.append(u'<a href="%s" class="add-another" id="add_id_%s" onclick="return showAddAnotherPopup(this);"> ' + % (related_url, name)) + output.append(u'<img src="%s" width="10" height="10" alt="%s"/></a>' + % (static('admin/img/icon_addlink.gif'), _('Add Another'))) return mark_safe(u''.join(output)) def build_attrs(self, extra_attrs=None, **kwargs): diff --git a/django/contrib/gis/admin/widgets.py b/django/contrib/gis/admin/widgets.py index be26261b54..49de09511d 100644 --- a/django/contrib/gis/admin/widgets.py +++ b/django/contrib/gis/admin/widgets.py @@ -1,15 +1,16 @@ from django.conf import settings -from django.contrib.gis.gdal import OGRException -from django.contrib.gis.geos import GEOSGeometry, GEOSException from django.forms.widgets import Textarea from django.template import loader, Context +from django.templatetags.static import static from django.utils import translation +from django.contrib.gis.gdal import OGRException +from django.contrib.gis.geos import GEOSGeometry, GEOSException + # Creating a template context that contains Django settings # values needed by admin map templates. -geo_context = Context({'ADMIN_MEDIA_PREFIX' : settings.ADMIN_MEDIA_PREFIX, - 'LANGUAGE_BIDI' : translation.get_language_bidi(), - }) +geo_context = Context({'ADMIN_MEDIA_PREFIX' : static('admin/'), + 'LANGUAGE_BIDI' : translation.get_language_bidi()}) class OpenLayersWidget(Textarea): """ diff --git a/django/contrib/gis/templates/gis/admin/openlayers.html b/django/contrib/gis/templates/gis/admin/openlayers.html index 4292eb6474..a61b68921f 100644 --- a/django/contrib/gis/templates/gis/admin/openlayers.html +++ b/django/contrib/gis/templates/gis/admin/openlayers.html @@ -1,15 +1,16 @@ {% block extrastyle %} +{% load static %} <style type="text/css"> #{{ id }}_map { width: {{ map_width }}px; height: {{ map_height }}px; } #{{ id }}_map .aligned label { float:inherit; } #{{ id }}_admin_map { position: relative; vertical-align: top; float: {{ LANGUAGE_BIDI|yesno:"right,left" }}; } {% if not display_wkt %}#{{ id }} { display: none; }{% endif %} .olControlEditingToolbar .olControlModifyFeatureItemActive { - background-image: url("{{ ADMIN_MEDIA_PREFIX }}img/gis/move_vertex_on.png"); + background-image: url("{% static "admin/img/gis/move_vertex_on.png" %}"); background-repeat: no-repeat; } .olControlEditingToolbar .olControlModifyFeatureItemInactive { - background-image: url("{{ ADMIN_MEDIA_PREFIX }}img/gis/move_vertex_off.png"); + background-image: url("{% static "admin/img/gis/move_vertex_off.png" %}"); background-repeat: no-repeat; } </style> diff --git a/django/contrib/staticfiles/storage.py b/django/contrib/staticfiles/storage.py index 455be7bcc2..a69ae239df 100644 --- a/django/contrib/staticfiles/storage.py +++ b/django/contrib/staticfiles/storage.py @@ -43,14 +43,7 @@ class AppStaticStorage(FileSystemStorage): Returns a static file storage if available in the given app. """ # app is the actual app module - self.app_module = app - # We special case the admin app here since it has its static files - # in 'media' for historic reasons. - if self.app_module == 'django.contrib.admin': - self.prefix = 'admin' - self.source_dir = 'media' - mod = import_module(self.app_module) + mod = import_module(app) mod_path = os.path.dirname(mod.__file__) location = os.path.join(mod_path, self.source_dir) super(AppStaticStorage, self).__init__(location, *args, **kwargs) - diff --git a/django/core/servers/basehttp.py b/django/core/servers/basehttp.py index c4c45111fb..b6c8d55c87 100644 --- a/django/core/servers/basehttp.py +++ b/django/core/servers/basehttp.py @@ -12,6 +12,7 @@ import socket import sys import traceback import urllib +import urlparse from SocketServer import ThreadingMixIn from wsgiref import simple_server from wsgiref.util import FileWrapper # for backwards compatibility @@ -91,7 +92,7 @@ class WSGIRequestHandler(simple_server.WSGIRequestHandler, object): def __init__(self, *args, **kwargs): from django.conf import settings - self.admin_media_prefix = settings.ADMIN_MEDIA_PREFIX + self.admin_media_prefix = urlparse.urljoin(settings.STATIC_URL, 'admin/') # We set self.path to avoid crashes in log_message() on unsupported # requests (like "OPTIONS"). self.path = '' @@ -163,22 +164,18 @@ class WSGIRequestHandler(simple_server.WSGIRequestHandler, object): class AdminMediaHandler(handlers.StaticFilesHandler): """ WSGI middleware that intercepts calls to the admin media directory, as - defined by the ADMIN_MEDIA_PREFIX setting, and serves those images. + defined by the STATIC_URL setting, and serves those images. Use this ONLY LOCALLY, for development! This hasn't been tested for security and is not super efficient. This is pending for deprecation since 1.3. """ def get_base_dir(self): - return os.path.join(django.__path__[0], 'contrib', 'admin', 'media') + return os.path.join(django.__path__[0], 'contrib', 'admin', 'static', 'admin') def get_base_url(self): from django.conf import settings - if not settings.ADMIN_MEDIA_PREFIX: - raise ImproperlyConfigured( - "The ADMIN_MEDIA_PREFIX setting can't be empty " - "when using the AdminMediaHandler, e.g. with runserver.") - return settings.ADMIN_MEDIA_PREFIX + return urlparse.urljoin(settings.STATIC_URL, 'admin/') def file_path(self, url): """ diff --git a/django/templatetags/static.py b/django/templatetags/static.py index 97d657189b..cba44378c3 100644 --- a/django/templatetags/static.py +++ b/django/templatetags/static.py @@ -1,3 +1,4 @@ +from urlparse import urljoin from django import template from django.utils.encoding import iri_to_uri @@ -68,7 +69,7 @@ def get_static_prefix(parser, token): @register.tag def get_media_prefix(parser, token): """ - Populates a template variable with the static prefix, + Populates a template variable with the media prefix, ``settings.MEDIA_URL``. Usage:: @@ -82,3 +83,20 @@ def get_media_prefix(parser, token): """ return PrefixNode.handle_token(parser, token, "MEDIA_URL") + +@register.simple_tag +def static(path): + """ + Joins the given path with the STATIC_URL setting. + + Usage:: + + {% static path %} + + Examples:: + + {% static "myapp/css/base.css" %} + {% static variable_with_path %} + + """ + return urljoin(PrefixNode.handle_simple("STATIC_URL"), path) |
