Функция static

Функция static применяется для генерации полных URL-адресов статических файлов (CSS, JavaScript, изображения) с учетом настроек STATIC_URL и STATICFILES_STORAGE. Она принимает путь к файлу относительно директории статических файлов и возвращает строку с окончательным URL-адресом. Функция особенно полезна в шаблонах, где используется тег static, и в представлениях при необходимости динамического формирования ссылок.

Синтаксис

pythonstatic(path)

Параметры:

Возвращаемое значение:

Пример

Давайте сформируем URL для статического CSS-файла в представлении:

pythonfrom django.shortcuts import render
from django.templatetags.static import static

def my_view(request):
  css_url = static('css/style.css')
  return render(request, 'template.html', {'css_url': css_url})

Результат выполнения кода:

python"/static/css/style.css"

Пример

Давайте используем функцию static в шаблоне для подключения изображения:

ninja{% load static %}
<img src="{% static 'images/logo.png' %}" alt="Logo">

Результат выполнения кода:

html<img src="/static/images/logo.png" alt="Logo">

Пример

Давайте используем функцию static с подстановкой переменной в пути:

ninja{% load static %}
{% with 'js/'|add:script_name|add:'.js' as script_path %}
  <script src="{% static script_path %}"></script>
{% endwith %}

Результат выполнения кода:

html<script src="/static/js/main.js"></script>

Смотрите также

  • функция path,
    которая используется для определения маршрутов в URLconf
  • функция reverse,
    которая формирует URL-адреса по имени маршрута
  • функция render,
    которая возвращает HttpResponse с отрендеренным шаблоном
  • функция redirect,
    которая выполняет перенаправление на указанный URL