diff options
| author | Johannes Hoppe <info@johanneshoppe.com> | 2015-11-07 12:24:38 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-12-10 14:30:19 -0500 |
| commit | cf546e11ac76c8dec527e39ff8ce8249a195ab42 (patch) | |
| tree | c86d039e94099e47382bbeaf4361fef22bbcf55e /docs | |
| parent | 6be9589eb34f79914666c9d9e1e15bdb7fc44df2 (diff) | |
Fixed #21221 -- Made form Media and static template tag use staticfiles if installed.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/howto/static-files/index.txt | 12 | ||||
| -rw-r--r-- | docs/intro/overview.txt | 2 | ||||
| -rw-r--r-- | docs/intro/tutorial06.txt | 6 | ||||
| -rw-r--r-- | docs/ref/contrib/admin/javascript.txt | 4 | ||||
| -rw-r--r-- | docs/ref/contrib/staticfiles.txt | 52 | ||||
| -rw-r--r-- | docs/ref/templates/builtins.txt | 23 | ||||
| -rw-r--r-- | docs/releases/1.10.txt | 9 | ||||
| -rw-r--r-- | docs/releases/1.4.txt | 8 | ||||
| -rw-r--r-- | docs/topics/forms/media.txt | 23 |
9 files changed, 62 insertions, 77 deletions
diff --git a/docs/howto/static-files/index.txt b/docs/howto/static-files/index.txt index e9a7c7c0a1..4faeed4714 100644 --- a/docs/howto/static-files/index.txt +++ b/docs/howto/static-files/index.txt @@ -19,17 +19,17 @@ Configuring static files STATIC_URL = '/static/' 3. In your templates, either hardcode the url like - ``/static/my_app/myexample.jpg`` or, preferably, use the - :ttag:`static<staticfiles-static>` template tag to build the URL for the given - relative path by using the configured :setting:`STATICFILES_STORAGE` storage - (this makes it much easier when you want to switch to a content delivery - network (CDN) for serving static files). + ``/static/my_app/myexample.jpg`` or, preferably, use the :ttag:`static` + template tag to build the URL for the given relative path by using the + configured :setting:`STATICFILES_STORAGE` storage (this makes it much easier + when you want to switch to a content delivery network (CDN) for serving + static files). .. _staticfiles-in-templates: .. code-block:: html+django - {% load staticfiles %} + {% load static %} <img src="{% static "my_app/myexample.jpg" %}" alt="My image"/> 4. Store your static files in a folder called ``static`` in your app. For diff --git a/docs/intro/overview.txt b/docs/intro/overview.txt index b43bf38860..94eaec136f 100644 --- a/docs/intro/overview.txt +++ b/docs/intro/overview.txt @@ -304,7 +304,7 @@ Here's what the "base.html" template, including the use of :doc:`static files .. snippet:: html+django :filename: mysite/templates/base.html - {% load staticfiles %} + {% load static %} <html> <head> <title>{% block title %}{% endblock %}</title> diff --git a/docs/intro/tutorial06.txt b/docs/intro/tutorial06.txt index de5daae467..0d3dd23315 100644 --- a/docs/intro/tutorial06.txt +++ b/docs/intro/tutorial06.txt @@ -68,13 +68,11 @@ Next, add the following at the top of ``polls/templates/polls/index.html``: .. snippet:: html+django :filename: polls/templates/polls/index.html - {% load staticfiles %} + {% load static %} <link rel="stylesheet" type="text/css" href="{% static 'polls/style.css' %}" /> -``{% load staticfiles %}`` loads the :ttag:`{% static %} <staticfiles-static>` -template tag from the ``staticfiles`` template library. The ``{% static %}`` -template tag generates the absolute URL of the static file. +The ``{% static %}`` template tag generates the absolute URL of static files. That's all you need to do for development. Reload ``http://localhost:8000/polls/`` and you should see that the question links are diff --git a/docs/ref/contrib/admin/javascript.txt b/docs/ref/contrib/admin/javascript.txt index b517aa18cc..8b14b781c9 100644 --- a/docs/ref/contrib/admin/javascript.txt +++ b/docs/ref/contrib/admin/javascript.txt @@ -26,7 +26,7 @@ In your custom ``change_form.html`` template, extend the .. code-block:: html+django {% extends 'admin/change_form.html' %} - {% load admin_static %} + {% load static %} {% block admin_change_form_document_ready %} {{ block.super }} @@ -65,7 +65,7 @@ namespace, just listen to the event triggered from there. For example: .. code-block:: html+django {% extends 'admin/change_form.html' %} - {% load admin_static %} + {% load static %} {% block admin_change_form_document_ready %} {{ block.super }} diff --git a/docs/ref/contrib/staticfiles.txt b/docs/ref/contrib/staticfiles.txt index 010eacccce..e6caa53e32 100644 --- a/docs/ref/contrib/staticfiles.txt +++ b/docs/ref/contrib/staticfiles.txt @@ -285,11 +285,16 @@ following requirements are met: * the :setting:`STATICFILES_STORAGE` setting is set to ``'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'`` * the :setting:`DEBUG` setting is set to ``False`` -* you use the ``staticfiles`` :ttag:`static<staticfiles-static>` template - tag to refer to your static files in your templates * you've collected all your static files by using the :djadmin:`collectstatic` management command +.. versionchanged:: 1.10 + + In older versions, you also had to use + ``{% load static from staticfiles %}`` in your template. The + :ttag:`static` template tag (``{% load static %}``) now uses + :mod:`django.contrib.staticfiles` if it's installed. + Since creating the MD5 hash can be a performance burden to your website during runtime, ``staticfiles`` will automatically store the mapping with hashed names for all processed files in a file called ``staticfiles.json``. @@ -331,43 +336,6 @@ If you want to override certain options of the cache backend the storage uses, simply specify a custom entry in the :setting:`CACHES` setting named ``'staticfiles'``. It falls back to using the ``'default'`` cache backend. -.. currentmodule:: django.contrib.staticfiles.templatetags.staticfiles - -Template tags -============= - -static ------- - -.. templatetag:: staticfiles-static - -Uses the configured :setting:`STATICFILES_STORAGE` storage to create the -full URL for the given relative path, e.g.: - -.. code-block:: html+django - - {% load static from staticfiles %} - <img src="{% static "images/hi.jpg" %}" alt="Hi!" /> - -The previous example is equal to calling the ``url`` method of an instance of -:setting:`STATICFILES_STORAGE` with ``"images/hi.jpg"``. This is especially -useful when using a non-local storage backend to deploy files as documented -in :ref:`staticfiles-from-cdn`. - -If you'd like to retrieve a static URL without displaying it, you can use a -slightly different call: - -.. code-block:: html+django - - {% load static from staticfiles %} - {% static "images/hi.jpg" as myphoto %} - <img src="{{ myphoto }}" alt="Hi!" /> - -.. admonition:: Using Jinja2 templates? - - See :class:`django.template.backends.jinja2.Jinja2` for information on - using the ``static`` tag with Jinja2. - Finders Module ============== @@ -390,8 +358,10 @@ files: which adds :setting:`STATIC_URL` to every template context rendered with :class:`~django.template.RequestContext` contexts. -- The builtin template tag :ttag:`static` which takes a path and - urljoins it with the static prefix :setting:`STATIC_URL`. +- The builtin template tag :ttag:`static` which takes a path and urljoins it + with the static prefix :setting:`STATIC_URL`. If + ``django.contrib.staticfiles`` is installed, the tag uses the ``url()`` + method of the :setting:`STATICFILES_STORAGE` instead. - The builtin template tag :ttag:`get_static_prefix` which populates a template variable with the static prefix :setting:`STATIC_URL` to be diff --git a/docs/ref/templates/builtins.txt b/docs/ref/templates/builtins.txt index 680f9eda9b..da6df4472f 100644 --- a/docs/ref/templates/builtins.txt +++ b/docs/ref/templates/builtins.txt @@ -2399,8 +2399,9 @@ static """""" To link to static files that are saved in :setting:`STATIC_ROOT` Django ships -with a :ttag:`static` template tag. You can use this regardless if you're -using :class:`~django.template.RequestContext` or not. For example:: +with a :ttag:`static` template tag. If the :mod:`django.contrib.staticfiles` +app is installed, the tag will serve files using ``url()`` method of the +storage specified by :setting:`STATICFILES_STORAGE`. For example:: {% load static %} <img src="{% static "images/hi.jpg" %}" alt="Hi!" /> @@ -2418,18 +2419,16 @@ slightly different call:: {% static "images/hi.jpg" as myphoto %} <img src="{{ myphoto }}"></img> -.. note:: +.. admonition:: Using Jinja2 templates? + + See :class:`~django.template.backends.jinja2.Jinja2` for information on + using the ``static`` tag with Jinja2. - The :mod:`staticfiles<django.contrib.staticfiles>` contrib app also ships - with a :ttag:`static template tag<staticfiles-static>` which uses - ``staticfiles'`` :setting:`STATICFILES_STORAGE` to build the URL of the - given path (rather than simply using :func:`urllib.parse.urljoin` with the - :setting:`STATIC_URL` setting and the given path). Use that instead if you - have an advanced use case such as :ref:`using a cloud service to serve - static files<staticfiles-from-cdn>`:: +.. versionchanged:: 1.10 - {% load static from staticfiles %} - <img src="{% static "images/hi.jpg" %}" alt="Hi!" /> + In older versions, you had to use ``{% load static from staticfiles %}`` in + your template to serve files from the storage defined in + :setting:`STATICFILES_STORAGE`. This is no longer required. .. templatetag:: get_static_prefix diff --git a/docs/releases/1.10.txt b/docs/releases/1.10.txt index bee3b1d41f..e86a061f6e 100644 --- a/docs/releases/1.10.txt +++ b/docs/releases/1.10.txt @@ -127,7 +127,11 @@ Minor features :mod:`django.contrib.staticfiles` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -* ... +* The :ttag:`static` template tag now uses ``django.contrib.staticfiles`` + if it's in ``INSTALLED_APPS``. This is especially useful for third-party apps + which can now always use ``{% load static %}`` (instead of + ``{% load staticfiles %}`` or ``{% load static from staticfiles %}``) and + not worry about whether or not the ``staticfiles`` app is installed. :mod:`django.contrib.syndication` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -169,7 +173,8 @@ File Uploads Forms ^^^^^ -* ... +* Form and widget ``Media`` is now served using + :mod:`django.contrib.staticfiles` if installed. Generic Views ^^^^^^^^^^^^^ diff --git a/docs/releases/1.4.txt b/docs/releases/1.4.txt index 3f0001152f..9f73a42ae6 100644 --- a/docs/releases/1.4.txt +++ b/docs/releases/1.4.txt @@ -459,10 +459,10 @@ more details. ~~~~~~~~~~~~~~~~~~~~~~~ The :mod:`staticfiles<django.contrib.staticfiles>` contrib app has a new -:ttag:`static<staticfiles-static>` template tag to refer to files saved with -the :setting:`STATICFILES_STORAGE` storage backend. It uses the storage -backend's ``url`` method and therefore supports advanced features such as -:ref:`serving files from a cloud service<staticfiles-from-cdn>`. +``static`` template tag to refer to files saved with the +:setting:`STATICFILES_STORAGE` storage backend. It uses the storage backend's +``url`` method and therefore supports advanced features such as :ref:`serving +files from a cloud service<staticfiles-from-cdn>`. ``CachedStaticFilesStorage`` storage backend ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/topics/forms/media.txt b/docs/topics/forms/media.txt index a7975b4bce..180cd92995 100644 --- a/docs/topics/forms/media.txt +++ b/docs/topics/forms/media.txt @@ -203,12 +203,13 @@ Paths in asset definitions Paths used to specify assets can be either relative or absolute. If a path starts with ``/``, ``http://`` or ``https://``, it will be interpreted as an absolute path, and left as-is. All other paths will -be prepended with the value of the appropriate prefix. +be prepended with the value of the appropriate prefix. If the +:mod:`django.contrib.staticfiles` app is installed, it will be used to serve +assets. -As part of the introduction of the -:doc:`staticfiles app </ref/contrib/staticfiles>` two new settings were added -to refer to "static files" (images, CSS, JavaScript, etc.) that are needed -to render a complete web page: :setting:`STATIC_URL` and :setting:`STATIC_ROOT`. +Whether or not you use :mod:`django.contrib.staticfiles`, the +:setting:`STATIC_URL` and :setting:`STATIC_ROOT` settings are required to +render a complete web page. To find the appropriate prefix to use, Django will check if the :setting:`STATIC_URL` setting is not ``None`` and automatically fall back @@ -238,6 +239,18 @@ But if :setting:`STATIC_URL` is ``'http://static.example.com/'``:: <script type="text/javascript" src="http://static.example.com/animations.js"></script> <script type="text/javascript" src="http://othersite.com/actions.js"></script> +Or if :mod:`~django.contrib.staticfiles` is configured using the +`~django.contib.staticfiles.ManifestStaticFilesStorage`:: + + >>> w = CalendarWidget() + >>> print(w.media) + <link href="/css/pretty.css" type="text/css" media="all" rel="stylesheet" /> + <script type="text/javascript" src="https://static.example.com/animations.27e20196a850.js"></script> + <script type="text/javascript" src="http://othersite.com/actions.js"></script> + +.. versionchanged:: 1.10 + + Older versions didn't serve assets using :mod:`django.contrib.staticfiles`. ``Media`` objects ----------------- |
