Функция static
Функция static применяется для генерации полных URL-адресов статических файлов (CSS, JavaScript, изображения) с учетом настроек STATIC_URL и STATICFILES_STORAGE. Она принимает путь к файлу относительно директории статических файлов и возвращает строку с окончательным URL-адресом. Функция особенно полезна в шаблонах, где используется тег static, и в представлениях при необходимости динамического формирования ссылок.
Синтаксис
static(path)
Параметры:
path- путь к статическому файлу относительно директории, указанной вSTATIC_URL.
Возвращаемое значение:
- Строка с URL-адресом статического файла.
Пример
Давайте сформируем URL для статического CSS-файла в представлении:
from 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})
Результат выполнения кода:
"/static/css/style.css"
Пример
Давайте используем функцию static в шаблоне для подключения изображения:
{% load static %}
<img src="{% static 'images/logo.png' %}" alt="Logo">
Результат выполнения кода:
<img src="/static/images/logo.png" alt="Logo">
Пример
Давайте используем функцию static с подстановкой переменной в пути:
{% load static %}
{% with 'js/'|add:script_name|add:'.js' as script_path %}
<script src="{% static script_path %}"></script>
{% endwith %}
Результат выполнения кода:
<script src="/static/js/main.js"></script>