Запуск тестов Django без сбора статических данных
Я пытаюсь запустить набор тестов для django, который использует inlinecss. inlinecss ссылается на статический файл в шаблоне следующим образом:
{% load inlinecss %}
{% inlinecss "css/emails/base.css" %}
При запуске в режиме отладки все работает нормально, при запуске в production (выполнив collectstatic
) все также работает нормально.
Однако при запуске тестов (без предварительного запуска collectstatic) я получаю следующее:
FileNotFoundError: [Errno 2] No such file or directory: '/app/project-name/staticfiles/css/emails/base.css'
Это имеет смысл, поскольку django ищет файл в STATIC_ROOT (STATIC_ROOT = os.path.normpath(join(os.path.dirname(BASE_DIR), "staticfiles"))
)
Мне интересно, есть ли способ позволить Django получить доступ к этому файлу без необходимости запускать collectstatic
? Было бы идеально, если бы я мог добавить некоторые настройки в test.py
, чтобы он мог собирать collectstatic в каталог tmp или вообще не требовать collectstatic (например, при запуске в режиме отладки), но у меня ничего не получилось. Я использую pytest для запуска тестов.