mirror of
https://github.com/django/django.git
synced 2025-07-24 21:54:14 +00:00
Fixed #14693, #14709 -- Backwards incompatible change to rectify the confusion around the STATICFILES_URL and STATICFILES_ROOT settings.
* Two new global settings that will be used by -- **but are not limited to** -- the staticfiles app: STATIC_ROOT and STATIC_URL. * Moving the 'django.contrib.staticfiles.templatetags.staticfiles' template tag to the core ('django.templatetags.static') and renaming it to 'get_static_prefix'. * Moving the context processor 'django.contrib.staticfiles.context_processors.staticfiles' to the core ('django.core.context_processors.static') and renaming it to 'static'. * Paths in media definitions will use STATIC_URL as the prefix if the value is not None, and falls back to the previously used MEDIA_URL. Thanks again to the community for constructive criticism and Carl and Russ for sanity-inducing discussions on IRC. git-svn-id: http://code.djangoproject.com/svn/django/trunk@14592 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
9b45f6cd54
commit
33d8fcde8a
31 changed files with 908 additions and 329 deletions
|
@ -1,9 +1,13 @@
|
|||
"""
|
||||
HTML Widget classes
|
||||
"""
|
||||
import datetime
|
||||
from itertools import chain
|
||||
import time
|
||||
from urlparse import urljoin
|
||||
from util import flatatt
|
||||
|
||||
import django.utils.copycompat as copy
|
||||
from itertools import chain
|
||||
from django.conf import settings
|
||||
from django.utils.datastructures import MultiValueDict, MergeDict
|
||||
from django.utils.html import escape, conditional_escape
|
||||
|
@ -11,10 +15,6 @@ from django.utils.translation import ugettext, ugettext_lazy
|
|||
from django.utils.encoding import StrAndUnicode, force_unicode
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.utils import datetime_safe, formats
|
||||
import time
|
||||
import datetime
|
||||
from util import flatatt
|
||||
from urlparse import urljoin
|
||||
|
||||
__all__ = (
|
||||
'Media', 'MediaDefiningClass', 'Widget', 'TextInput', 'PasswordInput',
|
||||
|
@ -63,10 +63,16 @@ class Media(StrAndUnicode):
|
|||
for path in self._css[medium]]
|
||||
for medium in media])
|
||||
|
||||
def absolute_path(self, path):
|
||||
def absolute_path(self, path, prefix=None):
|
||||
if path.startswith(u'http://') or path.startswith(u'https://') or path.startswith(u'/'):
|
||||
return path
|
||||
return urljoin(settings.MEDIA_URL,path)
|
||||
if prefix is None:
|
||||
if settings.STATIC_URL is None:
|
||||
# backwards compatibility
|
||||
prefix = settings.MEDIA_URL
|
||||
else:
|
||||
prefix = settings.STATIC_URL
|
||||
return urljoin(prefix, path)
|
||||
|
||||
def __getitem__(self, name):
|
||||
"Returns a Media object that only contains media of the given type"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue